diff --git a/packages/google-shopping-merchant-reviews/.OwlBot.yaml b/packages/google-shopping-merchant-reviews/.OwlBot.yaml
new file mode 100644
index 00000000000..69c5cc3edba
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/.OwlBot.yaml
@@ -0,0 +1,19 @@
+# Copyright 2022 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.
+
+deep-copy-regex:
+ - source: /google/shopping/merchant/reviews/(.*)/.*-nodejs
+ dest: /owl-bot-staging/google-shopping-merchant-reviews/$1
+
+api-name: merchantapi
\ No newline at end of file
diff --git a/packages/google-shopping-merchant-reviews/.eslintignore b/packages/google-shopping-merchant-reviews/.eslintignore
new file mode 100644
index 00000000000..ea5b04aebe6
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
diff --git a/packages/google-shopping-merchant-reviews/.eslintrc.json b/packages/google-shopping-merchant-reviews/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/packages/google-shopping-merchant-reviews/.gitattributes b/packages/google-shopping-merchant-reviews/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/.gitattributes
@@ -0,0 +1,4 @@
+*.ts text eol=lf
+*.js text eol=lf
+protos/* linguist-generated
+**/api-extractor.json linguist-language=JSON-with-Comments
diff --git a/packages/google-shopping-merchant-reviews/.gitignore b/packages/google-shopping-merchant-reviews/.gitignore
new file mode 100644
index 00000000000..d4f03a0df2e
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/.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/packages/google-shopping-merchant-reviews/.jsdoc.js b/packages/google-shopping-merchant-reviews/.jsdoc.js
new file mode 100644
index 00000000000..f4fe82af346
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/.jsdoc.js
@@ -0,0 +1,55 @@
+// Copyright 2025 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 2025 Google LLC',
+ includeDate: false,
+ sourceFiles: false,
+ systemName: '@google-shopping/reviews',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/packages/google-shopping-merchant-reviews/.mocharc.js b/packages/google-shopping-merchant-reviews/.mocharc.js
new file mode 100644
index 00000000000..eef6173ab44
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/.mocharc.js
@@ -0,0 +1,29 @@
+// Copyright 2025 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.
+const config = {
+ "enable-source-maps": true,
+ "throw-deprecation": true,
+ "timeout": 10000,
+ "recursive": true
+}
+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/packages/google-shopping-merchant-reviews/.nycrc b/packages/google-shopping-merchant-reviews/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/.nycrc
@@ -0,0 +1,24 @@
+{
+ "report-dir": "./.coverage",
+ "reporter": ["text", "lcov"],
+ "exclude": [
+ "**/*-test",
+ "**/.coverage",
+ "**/apis",
+ "**/benchmark",
+ "**/conformance",
+ "**/docs",
+ "**/samples",
+ "**/scripts",
+ "**/protos",
+ "**/test",
+ "**/*.d.ts",
+ ".jsdoc.js",
+ "**/.jsdoc.js",
+ "karma.conf.js",
+ "webpack-tests.config.js",
+ "webpack.config.js"
+ ],
+ "exclude-after-remap": false,
+ "all": true
+}
diff --git a/packages/google-shopping-merchant-reviews/.prettierignore b/packages/google-shopping-merchant-reviews/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/packages/google-shopping-merchant-reviews/.prettierrc.js b/packages/google-shopping-merchant-reviews/.prettierrc.js
new file mode 100644
index 00000000000..b189724933b
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/.prettierrc.js
@@ -0,0 +1,17 @@
+// Copyright 2025 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.
+
+module.exports = {
+ ...require('gts/.prettierrc.json')
+}
diff --git a/packages/google-shopping-merchant-reviews/.repo-metadata.json b/packages/google-shopping-merchant-reviews/.repo-metadata.json
new file mode 100644
index 00000000000..ede0db033c1
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/.repo-metadata.json
@@ -0,0 +1,17 @@
+{
+ "name": "merchantapi",
+ "name_pretty": "Merchant API",
+ "product_documentation": "https://developers.google.com/merchant/api",
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/merchantapi/latest",
+ "issue_tracker": "https://github.com/googleapis/google-cloud-node/issues",
+ "release_level": "preview",
+ "language": "nodejs",
+ "repo": "googleapis/google-cloud-node",
+ "distribution_name": "@google-shopping/reviews",
+ "api_id": "merchantapi.googleapis.com",
+ "default_version": "v1beta",
+ "requires_billing": true,
+ "library_type": "GAPIC_AUTO",
+ "api_shortname": "merchantapi"
+}
+
diff --git a/packages/google-shopping-merchant-reviews/CODE_OF_CONDUCT.md b/packages/google-shopping-merchant-reviews/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/CODE_OF_CONDUCT.md
@@ -0,0 +1,94 @@
+
+# Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as
+contributors and maintainers pledge to making participation in our project and
+our community a harassment-free experience for everyone, regardless of age, body
+size, disability, ethnicity, gender identity and expression, level of
+experience, education, socio-economic status, nationality, personal appearance,
+race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment
+include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or
+ advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic
+ address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable
+behavior and are expected to take appropriate and fair corrective action in
+response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or reject
+comments, commits, code, wiki edits, issues, and other contributions that are
+not aligned to this Code of Conduct, or to ban temporarily or permanently any
+contributor for other behaviors that they deem inappropriate, threatening,
+offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community. Examples of
+representing a project or community include using an official project e-mail
+address, posting via an official social media account, or acting as an appointed
+representative at an online or offline event. Representation of a project may be
+further defined and clarified by project maintainers.
+
+This Code of Conduct also applies outside the project spaces when the Project
+Steward has a reasonable belief that an individual's behavior may have a
+negative impact on the project or its community.
+
+## Conflict Resolution
+
+We do not believe that all conflict is bad; healthy debate and disagreement
+often yield positive results. However, it is never okay to be disrespectful or
+to engage in behavior that violates the project’s code of conduct.
+
+If you see someone violating the code of conduct, you are encouraged to address
+the behavior directly with those involved. Many issues can be resolved quickly
+and easily, and this gives people more control over the outcome of their
+dispute. If you are unable to resolve the matter for any reason, or if the
+behavior is threatening or harassing, report it. We are dedicated to providing
+an environment where participants feel welcome and safe.
+
+Reports should be directed to *googleapis-stewards@google.com*, the
+Project Steward(s) for *Google Cloud Client Libraries*. It is the Project Steward’s duty to
+receive and address reported violations of the code of conduct. They will then
+work with a committee consisting of representatives from the Open Source
+Programs Office and the Google Open Source Strategy team. If for any reason you
+are uncomfortable reaching out to the Project Steward, please email
+opensource@google.com.
+
+We will investigate every complaint, but you may not receive a direct response.
+We will use our discretion in determining when and how to follow up on reported
+incidents, which may range from not taking action to permanent expulsion from
+the project and project-sponsored spaces. We will notify the accused of the
+report and provide them an opportunity to discuss it before any action is taken.
+The identity of the reporter will be omitted from the details of the report
+supplied to the accused. In potentially harmful situations, such as ongoing
+harassment or threats to anyone's safety, we may take action without notice.
+
+## Attribution
+
+This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
+available at
+https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
\ No newline at end of file
diff --git a/packages/google-shopping-merchant-reviews/CONTRIBUTING.md b/packages/google-shopping-merchant-reviews/CONTRIBUTING.md
new file mode 100644
index 00000000000..b50cca7820e
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/CONTRIBUTING.md
@@ -0,0 +1,76 @@
+# How to become a contributor and submit your own code
+
+**Table of contents**
+
+* [Contributor License Agreements](#contributor-license-agreements)
+* [Contributing a patch](#contributing-a-patch)
+* [Running the tests](#running-the-tests)
+* [Releasing the library](#releasing-the-library)
+
+## Contributor License Agreements
+
+We'd love to accept your sample apps and patches! Before we can take them, we
+have to jump a couple of legal hurdles.
+
+Please fill out either the individual or corporate Contributor License Agreement
+(CLA).
+
+ * If you are an individual writing original source code and you're sure you
+ own the intellectual property, then you'll need to sign an [individual CLA](https://developers.google.com/open-source/cla/individual).
+ * If you work for a company that wants to allow you to contribute your work,
+ then you'll need to sign a [corporate CLA](https://developers.google.com/open-source/cla/corporate).
+
+Follow either of the two links above to access the appropriate CLA and
+instructions for how to sign and return it. Once we receive it, we'll be able to
+accept your pull requests.
+
+## Contributing A Patch
+
+1. Submit an issue describing your proposed change to the repo in question.
+1. The repo owner will respond to your issue promptly.
+1. If your proposed change is accepted, and you haven't already done so, sign a
+ Contributor License Agreement (see details above).
+1. Fork the desired repo, develop and test your code changes.
+1. Ensure that your code adheres to the existing style in the code to which
+ you are contributing.
+1. Ensure that your code has an appropriate set of tests which all pass.
+1. Title your pull request following [Conventional Commits](https://www.conventionalcommits.org/) styling.
+1. Submit a pull request.
+
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable billing for your project][billing].
+1. [Enable the Merchant API API][enable_api].
+1. [Set up authentication with a service account][auth] so you can access the
+ API from your local workstation.
+
+
+## Running the tests
+
+1. [Prepare your environment for Node.js setup][setup].
+
+1. Install dependencies:
+
+ npm install
+
+1. Run the tests:
+
+ # Run unit tests.
+ npm test
+
+ # Run sample integration tests.
+ npm run samples-test
+
+ # Run all system tests.
+ npm run system-test
+
+1. Lint (and maybe fix) any changes:
+
+ npm run fix
+
+[setup]: https://cloud.google.com/nodejs/docs/setup
+[projects]: https://console.cloud.google.com/project
+[billing]: https://support.google.com/cloud/answer/6293499#enable-billing
+[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=merchantapi.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/packages/google-shopping-merchant-reviews/LICENSE b/packages/google-shopping-merchant-reviews/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ 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.
diff --git a/packages/google-shopping-merchant-reviews/README.md b/packages/google-shopping-merchant-reviews/README.md
new file mode 100644
index 00000000000..c131dd9952e
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/README.md
@@ -0,0 +1,193 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Merchant API: Node.js Client](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-shopping-merchant-reviews)
+
+[![release level](https://img.shields.io/badge/release%20level-preview-yellow.svg?style=flat)](https://cloud.google.com/terms/launch-stages)
+[![npm version](https://img.shields.io/npm/v/@google-shopping/reviews.svg)](https://www.npmjs.org/package/@google-shopping/reviews)
+
+
+
+
+Merchant API client for Node.js
+
+
+A comprehensive list of changes in each version may be found in
+[the CHANGELOG](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-shopping-merchant-reviews/CHANGELOG.md).
+
+* [Merchant API Node.js Client API Reference][client-docs]
+* [Merchant API Documentation][product-docs]
+* [github.com/googleapis/google-cloud-node/packages/google-shopping-merchant-reviews](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-shopping-merchant-reviews)
+
+Read more about the client libraries for Cloud APIs, including the older
+Google APIs Client Libraries, in [Client Libraries Explained][explained].
+
+[explained]: https://cloud.google.com/apis/docs/client-libraries-explained
+
+**Table of contents:**
+
+
+* [Quickstart](#quickstart)
+ * [Before you begin](#before-you-begin)
+ * [Installing the client library](#installing-the-client-library)
+ * [Using the client library](#using-the-client-library)
+* [Samples](#samples)
+* [Versioning](#versioning)
+* [Contributing](#contributing)
+* [License](#license)
+
+## Quickstart
+
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable billing for your project][billing].
+1. [Enable the Merchant API API][enable_api].
+1. [Set up authentication][auth] so you can access the
+ API from your local workstation.
+
+### Installing the client library
+
+```bash
+npm install @google-shopping/reviews
+```
+
+
+### Using the client library
+
+```javascript
+/**
+ * This snippet has been automatically generated and should be regarded as a code template only.
+ * It will require modifications to work.
+ * It may require correct/in-range values for request initialization.
+ * TODO(developer): Uncomment these variables before running the sample.
+ */
+/**
+ * Required. The account to list product reviews for.
+ * Format: accounts/{account}
+ */
+// const parent = 'abc123'
+/**
+ * Optional. The maximum number of products to return. The service may return
+ * fewer than this value.
+ */
+// const pageSize = 1234
+/**
+ * Optional. A page token, received from a previous `ListProductReviews` call.
+ * Provide this to retrieve the subsequent page.
+ * When paginating, all other parameters provided to `ListProductReviews`
+ * must match the call that provided the page token.
+ */
+// const pageToken = 'abc123'
+
+// Imports the Reviews library
+const {ProductReviewsServiceClient} =
+ require('@google-shopping/reviews').v1beta;
+
+// Instantiates a client
+const reviewsClient = new ProductReviewsServiceClient();
+
+async function callListProductReviews() {
+ // Construct request
+ const request = {
+ parent,
+ };
+
+ // Run request
+ const iterable = reviewsClient.listProductReviewsAsync(request);
+ for await (const response of iterable) {
+ console.log(response);
+ }
+}
+
+callListProductReviews();
+
+```
+
+
+
+## Samples
+
+Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-shopping-merchant-reviews/samples) directory. Each sample's `README.md` has instructions for running its sample.
+
+| Sample | Source Code | Try it |
+| --------------------------- | --------------------------------- | ------ |
+| Merchant_reviews_service.delete_merchant_review | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-reviews/samples/generated/v1beta/merchant_reviews_service.delete_merchant_review.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-merchant-reviews/samples/generated/v1beta/merchant_reviews_service.delete_merchant_review.js,packages/google-shopping-merchant-reviews/samples/README.md) |
+| Merchant_reviews_service.get_merchant_review | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-reviews/samples/generated/v1beta/merchant_reviews_service.get_merchant_review.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-merchant-reviews/samples/generated/v1beta/merchant_reviews_service.get_merchant_review.js,packages/google-shopping-merchant-reviews/samples/README.md) |
+| Merchant_reviews_service.insert_merchant_review | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-reviews/samples/generated/v1beta/merchant_reviews_service.insert_merchant_review.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-merchant-reviews/samples/generated/v1beta/merchant_reviews_service.insert_merchant_review.js,packages/google-shopping-merchant-reviews/samples/README.md) |
+| Merchant_reviews_service.list_merchant_reviews | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-reviews/samples/generated/v1beta/merchant_reviews_service.list_merchant_reviews.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-merchant-reviews/samples/generated/v1beta/merchant_reviews_service.list_merchant_reviews.js,packages/google-shopping-merchant-reviews/samples/README.md) |
+| Product_reviews_service.delete_product_review | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-reviews/samples/generated/v1beta/product_reviews_service.delete_product_review.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-merchant-reviews/samples/generated/v1beta/product_reviews_service.delete_product_review.js,packages/google-shopping-merchant-reviews/samples/README.md) |
+| Product_reviews_service.get_product_review | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-reviews/samples/generated/v1beta/product_reviews_service.get_product_review.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-merchant-reviews/samples/generated/v1beta/product_reviews_service.get_product_review.js,packages/google-shopping-merchant-reviews/samples/README.md) |
+| Product_reviews_service.insert_product_review | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-reviews/samples/generated/v1beta/product_reviews_service.insert_product_review.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-merchant-reviews/samples/generated/v1beta/product_reviews_service.insert_product_review.js,packages/google-shopping-merchant-reviews/samples/README.md) |
+| Product_reviews_service.list_product_reviews | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-reviews/samples/generated/v1beta/product_reviews_service.list_product_reviews.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-merchant-reviews/samples/generated/v1beta/product_reviews_service.list_product_reviews.js,packages/google-shopping-merchant-reviews/samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-shopping-merchant-reviews/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-merchant-reviews/samples/quickstart.js,packages/google-shopping-merchant-reviews/samples/README.md) |
+
+
+
+The [Merchant API Node.js Client API Reference][client-docs] documentation
+also contains samples.
+
+## Supported Node.js Versions
+
+Our client libraries follow the [Node.js release schedule](https://github.com/nodejs/release#release-schedule).
+Libraries are compatible with all current _active_ and _maintenance_ versions of
+Node.js.
+If you are using an end-of-life version of Node.js, we recommend that you update
+as soon as possible to an actively supported LTS version.
+
+Google's client libraries support legacy versions of Node.js runtimes on a
+best-efforts basis with the following warnings:
+
+* Legacy versions are not tested in continuous integration.
+* Some security patches and features cannot be backported.
+* Dependencies cannot be kept up-to-date.
+
+Client libraries targeting some end-of-life versions of Node.js are available, and
+can be installed through npm [dist-tags](https://docs.npmjs.com/cli/dist-tag).
+The dist-tags follow the naming convention `legacy-(version)`.
+For example, `npm install @google-shopping/reviews@legacy-8` installs client libraries
+for versions compatible with Node.js 8.
+
+## Versioning
+
+This library follows [Semantic Versioning](http://semver.org/).
+
+
+
+
+
+
+
+This library is considered to be in **preview**. This means it is still a
+work-in-progress and under active development. Any release is subject to
+backwards-incompatible changes at any time.
+
+
+More Information: [Google Cloud Platform Launch Stages][launch_stages]
+
+[launch_stages]: https://cloud.google.com/terms/launch-stages
+
+## Contributing
+
+Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/google-cloud-node/blob/main/CONTRIBUTING.md).
+
+Please note that this `README.md`, the `samples/README.md`,
+and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`)
+are generated from a central template. To edit one of these files, make an edit
+to its templates in
+[directory](https://github.com/googleapis/synthtool).
+
+## License
+
+Apache Version 2.0
+
+See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/LICENSE)
+
+[client-docs]: https://cloud.google.com/nodejs/docs/reference/merchantapi/latest
+[product-docs]: https://developers.google.com/merchant/api
+[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png
+[projects]: https://console.cloud.google.com/project
+[billing]: https://support.google.com/cloud/answer/6293499#enable-billing
+[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=merchantapi.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/external/set-up-adc-local
diff --git a/packages/google-shopping-merchant-reviews/package.json b/packages/google-shopping-merchant-reviews/package.json
new file mode 100644
index 00000000000..bc8e0927bf1
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/package.json
@@ -0,0 +1,70 @@
+{
+ "name": "@google-shopping/reviews",
+ "version": "0.0.0",
+ "description": "Merchant API client for Node.js",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/googleapis/google-cloud-node.git",
+ "directory": "packages/google-shopping-merchant-reviews"
+ },
+ "license": "Apache-2.0",
+ "author": "Google LLC",
+ "main": "build/src/index.js",
+ "files": [
+ "build/src",
+ "build/protos"
+ ],
+ "homepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-shopping-merchant-reviews",
+ "keywords": [
+ "google apis client",
+ "google api client",
+ "google apis",
+ "google api",
+ "google",
+ "google cloud platform",
+ "google cloud",
+ "cloud",
+ "google merchantapi",
+ "merchantapi",
+ "Merchant API"
+ ],
+ "scripts": {
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "docs": "jsdoc -c .jsdoc.js",
+ "predocs-test": "npm run docs",
+ "docs-test": "linkinator docs",
+ "fix": "gts fix",
+ "lint": "gts check",
+ "postpack": "minifyProtoJson",
+ "prepare": "npm run compile",
+ "system-test": "c8 mocha build/system-test",
+ "test": "c8 mocha build/test",
+ "samples-test": "cd samples/ && npm link ../ && npm i && npm test",
+ "prelint": "cd samples; npm link ../; npm i"
+ },
+ "dependencies": {
+ "google-gax": "^4.0.3"
+ },
+ "devDependencies": {
+ "@types/mocha": "^9.0.0",
+ "@types/node": "^20.4.5",
+ "@types/sinon": "^17.0.0",
+ "c8": "^9.0.0",
+ "gapic-tools": "^0.4.0",
+ "gts": "^5.0.0",
+ "jsdoc": "^4.0.0",
+ "jsdoc-fresh": "^3.0.0",
+ "jsdoc-region-tag": "^3.0.0",
+ "linkinator": "4.1.2",
+ "long": "^5.2.3",
+ "mocha": "^9.2.2",
+ "pack-n-play": "^2.0.0",
+ "sinon": "^18.0.0",
+ "typescript": "^5.1.6"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+}
diff --git a/packages/google-shopping-merchant-reviews/protos/google/shopping/merchant/reviews/v1beta/merchantreviews.proto b/packages/google-shopping-merchant-reviews/protos/google/shopping/merchant/reviews/v1beta/merchantreviews.proto
new file mode 100644
index 00000000000..804341cee9d
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/protos/google/shopping/merchant/reviews/v1beta/merchantreviews.proto
@@ -0,0 +1,200 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.shopping.merchant.reviews.v1beta;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/empty.proto";
+import "google/shopping/merchant/reviews/v1beta/merchantreviews_common.proto";
+import "google/shopping/type/types.proto";
+
+option csharp_namespace = "Google.Shopping.Merchant.Reviews.V1Beta";
+option go_package = "cloud.google.com/go/shopping/merchant/reviews/apiv1beta/reviewspb;reviewspb";
+option java_multiple_files = true;
+option java_outer_classname = "MerchantReviewsProto";
+option java_package = "com.google.shopping.merchant.reviews.v1beta";
+option php_namespace = "Google\\Shopping\\Merchant\\Reviews\\V1beta";
+option ruby_package = "Google::Shopping::Merchant::Reviews::V1beta";
+option (google.api.resource_definition) = {
+ type: "merchantapi.googleapis.com/Account"
+ pattern: "accounts/{account}"
+};
+
+// Service to manage merchant reviews.
+service MerchantReviewsService {
+ option (google.api.default_host) = "merchantapi.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content";
+
+ // Gets a merchant review.
+ rpc GetMerchantReview(GetMerchantReviewRequest) returns (MerchantReview) {
+ option (google.api.http) = {
+ get: "/reviews/v1beta/{name=accounts/*/merchantReviews/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists merchant reviews.
+ rpc ListMerchantReviews(ListMerchantReviewsRequest)
+ returns (ListMerchantReviewsResponse) {
+ option (google.api.http) = {
+ get: "/reviews/v1beta/{parent=accounts/*}/merchantReviews"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Inserts a review for your Merchant Center account. If the review
+ // already exists, then the review is replaced with the new instance.
+ rpc InsertMerchantReview(InsertMerchantReviewRequest)
+ returns (MerchantReview) {
+ option (google.api.http) = {
+ post: "/reviews/v1beta/{parent=accounts/*}/merchantReviews:insert"
+ body: "merchant_review"
+ };
+ }
+
+ // Deletes merchant review.
+ rpc DeleteMerchantReview(DeleteMerchantReviewRequest)
+ returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/reviews/v1beta/{name=accounts/*/merchantReviews/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+}
+
+// Request message for the `GetMerchantReview` method.
+message GetMerchantReviewRequest {
+ // Required. The ID of the merchant review.
+ // Format: accounts/{account}/merchantReviews/{merchantReview}
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "merchantapi.googleapis.com/MerchantReview"
+ }
+ ];
+}
+
+// Request message for the `DeleteMerchantReview` method.
+message DeleteMerchantReviewRequest {
+ // Required. The ID of the merchant review.
+ // Format: accounts/{account}/merchantReviews/{merchantReview}
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "merchantapi.googleapis.com/MerchantReview"
+ }
+ ];
+}
+
+// Request message for the `ListMerchantsReview` method.
+message ListMerchantReviewsRequest {
+ // Required. The account to list merchant reviews for.
+ // Format: accounts/{account}
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "merchantapi.googleapis.com/MerchantReview"
+ }
+ ];
+
+ // Optional. The maximum number of merchant reviews to return. The service can
+ // return fewer than this value. The maximum value is 1000; values above 1000
+ // are coerced to 1000. If unspecified, the maximum number of reviews is
+ // returned.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A page token, received from a previous `ListMerchantReviews`
+ // call. Provide this to retrieve the subsequent page.
+ //
+ // When paginating, all other parameters provided to `ListMerchantReviews`
+ // must match the call that provided the page token.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for the `InsertMerchantReview` method.
+message InsertMerchantReviewRequest {
+ // Required. The account where the merchant review will be inserted.
+ // Format: accounts/{account}
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The merchant review to insert.
+ MerchantReview merchant_review = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The data source of the
+ // [merchantreview](https://support.google.com/merchants/answer/7045996?sjid=5253581244217581976-EU)
+ // Format:
+ // `accounts/{account}/dataSources/{datasource}`.
+ string data_source = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Response message for the `ListMerchantsReview` method.
+message ListMerchantReviewsResponse {
+ // The merchant review.
+ repeated MerchantReview merchant_reviews = 1;
+
+ // The token to retrieve the next page of results.
+ string next_page_token = 2;
+}
+
+// A review for a merchant. For more information, see
+// [Introduction to Merchant Review
+// Feeds](https://developers.google.com/merchant-review-feeds)
+message MerchantReview {
+ option (google.api.resource) = {
+ type: "merchantapi.googleapis.com/MerchantReview"
+ pattern: "accounts/{account}/merchantReviews/{name}"
+ plural: "merchantReviews"
+ singular: "merchantReview"
+ };
+
+ // Identifier. The name of the merchant review.
+ // Format:
+ // `"{merchantreview.name=accounts/{account}/merchantReviews/{merchantReview}}"`
+ string name = 1 [(google.api.field_behavior) = IDENTIFIER];
+
+ // Required. The user provided merchant review ID to uniquely identify the
+ // merchant review.
+ string merchant_review_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. A list of merchant review attributes.
+ MerchantReviewAttributes attributes = 3
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. A list of custom (merchant-provided) attributes. It can also be
+ // used for submitting any attribute of the data specification in its generic
+ // form (for example,
+ // `{ "name": "size type", "value": "regular" }`).
+ // This is useful for submitting attributes not explicitly exposed by the
+ // API, such as experimental attributes.
+ // Maximum allowed number of characters for each
+ // custom attribute is 10240 (represents sum of characters for name and
+ // value). Maximum 2500 custom attributes can be set per product, with total
+ // size of 102.4kB. Underscores in custom attribute names are replaced by
+ // spaces upon insertion.
+ repeated google.shopping.type.CustomAttribute custom_attributes = 4
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. The primary data source of the merchant review.
+ string data_source = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The status of a merchant review, data validation issues, that
+ // is, information about a merchant review computed asynchronously.
+ MerchantReviewStatus merchant_review_status = 6
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-shopping-merchant-reviews/protos/google/shopping/merchant/reviews/v1beta/merchantreviews_common.proto b/packages/google-shopping-merchant-reviews/protos/google/shopping/merchant/reviews/v1beta/merchantreviews_common.proto
new file mode 100644
index 00000000000..8260ea9527b
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/protos/google/shopping/merchant/reviews/v1beta/merchantreviews_common.proto
@@ -0,0 +1,187 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.shopping.merchant.reviews.v1beta;
+
+import "google/api/field_behavior.proto";
+import "google/protobuf/timestamp.proto";
+import "google/shopping/type/types.proto";
+
+option csharp_namespace = "Google.Shopping.Merchant.Reviews.V1Beta";
+option go_package = "cloud.google.com/go/shopping/merchant/reviews/apiv1beta/reviewspb;reviewspb";
+option java_multiple_files = true;
+option java_outer_classname = "MerchantReviewsCommonProto";
+option java_package = "com.google.shopping.merchant.reviews.v1beta";
+option php_namespace = "Google\\Shopping\\Merchant\\Reviews\\V1beta";
+option ruby_package = "Google::Shopping::Merchant::Reviews::V1beta";
+
+// Attributes.
+message MerchantReviewAttributes {
+ // The method used to collect the review.
+ enum CollectionMethod {
+ // Collection method unspecified.
+ COLLECTION_METHOD_UNSPECIFIED = 0;
+
+ // The user was not responding to a specific solicitation when they
+ // submitted the review.
+ MERCHANT_UNSOLICITED = 1;
+
+ // The user submitted the review in response to a solicitation when the
+ // user placed an order.
+ POINT_OF_SALE = 2;
+
+ // The user submitted the review in response to a solicitation after
+ // fulfillment of the user's order.
+ AFTER_FULFILLMENT = 3;
+ }
+
+ // Required. Must be unique and stable across all requests. In other words, if
+ // a request today and another 90 days ago refer to the same merchant, they
+ // must have the same id.
+ optional string merchant_id = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Human-readable display name for the merchant.
+ optional string merchant_display_name = 2
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. URL to the merchant's main website. Do not use a redirect URL for
+ // this value. In other words, the value should point directly to the
+ // merchant's site.
+ optional string merchant_link = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. URL to the landing page that hosts the reviews for this merchant.
+ // Do not use a redirect URL.
+ optional string merchant_rating_link = 4
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The minimum possible number for the rating. This should be the
+ // worst possible rating and should not be a value for no rating.
+ optional int64 min_rating = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum possible number for the rating. The value of the max
+ // rating must be greater than the value of the min rating.
+ optional int64 max_rating = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The reviewer's overall rating of the merchant.
+ optional double rating = 7 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The title of the review.
+ optional string title = 8 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. This should be any freeform text provided by the user and should
+ // not be truncated. If multiple responses to different questions are
+ // provided, all responses should be included, with the minimal context for
+ // the responses to make sense. Context should not be provided if questions
+ // were left unanswered.
+ optional string content = 9 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. A permanent, unique identifier for the author of the review in
+ // the publisher's system.
+ optional string reviewer_id = 10 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Display name of the review author.
+ optional string reviewer_username = 11
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Set to true if the reviewer should remain anonymous.
+ optional bool is_anonymous = 12 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The method used to collect the review.
+ optional CollectionMethod collection_method = 13
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The timestamp indicating when the review was written.
+ optional google.protobuf.Timestamp review_time = 14
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The language of the review defined by BCP-47 language code.
+ optional string review_language = 15 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The country where the reviewer made the order defined by ISO
+ // 3166-1 Alpha-2 Country Code.
+ optional string review_country = 16 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The status of a merchant review, data validation issues, that is, information
+// about a merchant review computed asynchronously.
+message MerchantReviewStatus {
+ // The destination status of the merchant review status.
+ message MerchantReviewDestinationStatus {
+ // Output only. The name of the reporting context.
+ google.shopping.type.ReportingContext.ReportingContextEnum
+ reporting_context = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+ }
+
+ // The ItemLevelIssue of the merchant review status.
+ message MerchantReviewItemLevelIssue {
+ // How the issue affects the serving of the merchant review.
+ enum Severity {
+ // Not specified.
+ SEVERITY_UNSPECIFIED = 0;
+
+ // This issue represents a warning and does not have a direct affect
+ // on the merchant review.
+ NOT_IMPACTED = 1;
+
+ // Issue disapproves the merchant review.
+ DISAPPROVED = 2;
+ }
+
+ // Output only. The error code of the issue.
+ string code = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. How this issue affects serving of the merchant review.
+ Severity severity = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Whether the issue can be resolved by the merchant.
+ string resolution = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The attribute's name, if the issue is caused by a single
+ // attribute.
+ string attribute = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The reporting context the issue applies to.
+ google.shopping.type.ReportingContext.ReportingContextEnum
+ reporting_context = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A short issue description in English.
+ string description = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A detailed issue description in English.
+ string detail = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The URL of a web page to help with resolving this issue.
+ string documentation = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
+ }
+
+ // Output only. The intended destinations for the merchant review.
+ repeated MerchantReviewDestinationStatus destination_statuses = 3
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A list of all issues associated with the merchant review.
+ repeated MerchantReviewItemLevelIssue item_level_issues = 4
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Date on which the item has been created, in [ISO
+ // 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
+ google.protobuf.Timestamp create_time = 5
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. 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_time = 6
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-shopping-merchant-reviews/protos/google/shopping/merchant/reviews/v1beta/productreviews.proto b/packages/google-shopping-merchant-reviews/protos/google/shopping/merchant/reviews/v1beta/productreviews.proto
new file mode 100644
index 00000000000..b3d23db9765
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/protos/google/shopping/merchant/reviews/v1beta/productreviews.proto
@@ -0,0 +1,181 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.shopping.merchant.reviews.v1beta;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/empty.proto";
+import "google/shopping/merchant/reviews/v1beta/productreviews_common.proto";
+import "google/shopping/type/types.proto";
+
+option csharp_namespace = "Google.Shopping.Merchant.Reviews.V1Beta";
+option go_package = "cloud.google.com/go/shopping/merchant/reviews/apiv1beta/reviewspb;reviewspb";
+option java_multiple_files = true;
+option java_outer_classname = "ProductReviewsProto";
+option java_package = "com.google.shopping.merchant.reviews.v1beta";
+option php_namespace = "Google\\Shopping\\Merchant\\Reviews\\V1beta";
+option ruby_package = "Google::Shopping::Merchant::Reviews::V1beta";
+
+// Service to manage product reviews.
+service ProductReviewsService {
+ option (google.api.default_host) = "merchantapi.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content";
+
+ // Gets a product review.
+ rpc GetProductReview(GetProductReviewRequest) returns (ProductReview) {
+ option (google.api.http) = {
+ get: "/reviews/v1beta/{name=accounts/*/productReviews/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists product reviews.
+ rpc ListProductReviews(ListProductReviewsRequest)
+ returns (ListProductReviewsResponse) {
+ option (google.api.http) = {
+ get: "/reviews/v1beta/{parent=accounts/*}/productReviews"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Inserts a product review.
+ rpc InsertProductReview(InsertProductReviewRequest) returns (ProductReview) {
+ option (google.api.http) = {
+ post: "/reviews/v1beta/{parent=accounts/*}/productReviews:insert"
+ body: "product_review"
+ };
+ }
+
+ // Deletes a product review.
+ rpc DeleteProductReview(DeleteProductReviewRequest)
+ returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/reviews/v1beta/{name=accounts/*/productReviews/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+}
+
+// Request message for the GetProductReview method.
+message GetProductReviewRequest {
+ // Required. The ID of the merchant review.
+ // Format: accounts/{account}/productReviews/{productReview}
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "merchantapi.googleapis.com/ProductReview"
+ }
+ ];
+}
+
+// Request message for the `DeleteProductReview` method.
+message DeleteProductReviewRequest {
+ // Required. The ID of the Product review.
+ // Format: accounts/{account}/productReviews/{productReview}
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "merchantapi.googleapis.com/ProductReview"
+ }
+ ];
+}
+
+// Request message for the ListProductReviews method.
+message ListProductReviewsRequest {
+ // Required. The account to list product reviews for.
+ // Format: accounts/{account}
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "merchantapi.googleapis.com/ProductReview"
+ }
+ ];
+
+ // Optional. The maximum number of products to return. The service may return
+ // fewer than this value.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A page token, received from a previous `ListProductReviews` call.
+ // Provide this to retrieve the subsequent page.
+ //
+ // When paginating, all other parameters provided to `ListProductReviews`
+ // must match the call that provided the page token.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for the `InsertProductReview` method.
+message InsertProductReviewRequest {
+ // Required. The account where the product review will be inserted.
+ // Format: accounts/{account}
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The product review to insert.
+ ProductReview product_review = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Format:
+ // `accounts/{account}/dataSources/{datasource}`.
+ string data_source = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// response message for the ListProductReviews method.
+message ListProductReviewsResponse {
+ // The product review.
+ repeated ProductReview product_reviews = 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;
+}
+
+// A review for a product. For more information, see
+// [Introduction to Product Review
+// Feeds](https://developers.google.com/product-review-feeds)
+message ProductReview {
+ option (google.api.resource) = {
+ type: "merchantapi.googleapis.com/ProductReview"
+ pattern: "accounts/{account}/productReviews/{productreview}"
+ plural: "productReviews"
+ singular: "productReview"
+ };
+
+ // Identifier. The name of the product review.
+ // Format:
+ // `"{productreview.name=accounts/{account}/productReviews/{productReview}}"`
+ string name = 1 [(google.api.field_behavior) = IDENTIFIER];
+
+ // Required. The permanent, unique identifier for the product review in the
+ // publisher’s system.
+ string product_review_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. A list of product review attributes.
+ ProductReviewAttributes attributes = 3
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A list of custom (merchant-provided) attributes.
+ repeated google.shopping.type.CustomAttribute custom_attributes = 4
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. The primary data source of the product review.
+ string data_source = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The status of a product review, data validation issues, that
+ // is, information about a product review computed asynchronously.
+ ProductReviewStatus product_review_status = 6
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-shopping-merchant-reviews/protos/google/shopping/merchant/reviews/v1beta/productreviews_common.proto b/packages/google-shopping-merchant-reviews/protos/google/shopping/merchant/reviews/v1beta/productreviews_common.proto
new file mode 100644
index 00000000000..68aedb850e5
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/protos/google/shopping/merchant/reviews/v1beta/productreviews_common.proto
@@ -0,0 +1,264 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.shopping.merchant.reviews.v1beta;
+
+import "google/api/field_behavior.proto";
+import "google/protobuf/timestamp.proto";
+import "google/shopping/type/types.proto";
+
+option csharp_namespace = "Google.Shopping.Merchant.Reviews.V1Beta";
+option go_package = "cloud.google.com/go/shopping/merchant/reviews/apiv1beta/reviewspb;reviewspb";
+option java_multiple_files = true;
+option java_outer_classname = "ProductReviewsCommonProto";
+option java_package = "com.google.shopping.merchant.reviews.v1beta";
+option php_namespace = "Google\\Shopping\\Merchant\\Reviews\\V1beta";
+option ruby_package = "Google::Shopping::Merchant::Reviews::V1beta";
+
+// Attributes.
+message ProductReviewAttributes {
+ // The URI of the review landing page.
+ message ReviewLink {
+ // Type of the review URI.
+ enum Type {
+ // Type unspecified.
+ TYPE_UNSPECIFIED = 0;
+
+ // The review page contains only this single review.
+ SINGLETON = 1;
+
+ // The review page contains a group of reviews including this review.
+ GROUP = 2;
+ }
+
+ // Optional. Type of the review URI.
+ Type type = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The URI of the review landing page.
+ // For example: `http://www.example.com/review_5.html`.
+ string link = 2 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // The method used to collect the review.
+ enum CollectionMethod {
+ // Collection method unspecified.
+ COLLECTION_METHOD_UNSPECIFIED = 0;
+
+ // The user was not responding to a specific solicitation when they
+ // submitted the review.
+ UNSOLICITED = 1;
+
+ // The user submitted the review in response to a solicitation after
+ // fulfillment of the user's order.
+ POST_FULFILLMENT = 2;
+ }
+
+ // Optional. The name of the aggregator of the product reviews.
+ //
+ // A publisher may use a reviews aggregator to manage reviews and provide
+ // the feeds. This element indicates the use of an aggregator and contains
+ // information about the aggregator.
+ optional string aggregator_name = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The name of the subclient of the product reviews.
+ //
+ // The subclient is an identifier of the product review source.
+ // It should be equivalent to the directory provided in the file data source
+ // path.
+ optional string subclient_name = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The name of the publisher of the product reviews.
+ //
+ // The information about the publisher, which may be a retailer,
+ // manufacturer, reviews service company, or any entity that publishes
+ // product reviews.
+ optional string publisher_name = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A link to the company favicon of the publisher. The image
+ // dimensions should be favicon size: 16x16 pixels. The image format should be
+ // GIF, JPG or PNG.
+ optional string publisher_favicon = 4
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The author of the product review.
+ //
+ // A permanent, unique identifier for the author of the review in the
+ // publisher's system.
+ optional string reviewer_id = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Set to true if the reviewer should remain anonymous.
+ optional bool reviewer_is_anonymous = 6
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The name of the reviewer of the product review.
+ optional string reviewer_username = 7
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The language of the review defined by BCP-47 language code.
+ optional string review_language = 8 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The country of the review defined by ISO 3166-1 Alpha-2 Country
+ // Code.
+ optional string review_country = 9 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The timestamp indicating when the review was written.
+ google.protobuf.Timestamp review_time = 10
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The title of the review.
+ optional string title = 11 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The content of the review.
+ optional string content = 12 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Contains the advantages based on the opinion of the reviewer.
+ // Omit boilerplate text like "pro:" unless it was written by the reviewer.
+ repeated string pros = 13 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Contains the disadvantages based on the opinion of the reviewer.
+ // Omit boilerplate text like "con:" unless it was written by the reviewer.
+ repeated string cons = 14 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The URI of the review landing page.
+ ReviewLink review_link = 15 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A URI to an image of the reviewed product created by the review
+ // author. The URI does not have to end with an image file extension.
+ repeated string reviewer_image_links = 16
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Contains the ratings associated with the review.
+ // The minimum possible number for the rating. This should be the worst
+ // possible rating and should not be a value for no rating.
+ optional int64 min_rating = 17 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum possible number for the rating. The value of the max
+ // rating must be greater than the value of the min attribute.
+ optional int64 max_rating = 18 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The reviewer's overall rating of the product.
+ optional double rating = 19 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Descriptive name of a product.
+ repeated string product_names = 20 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The URI of the product. This URI can have the same value as the
+ // `review_link` element, if the review URI and the product URI are the
+ // same.
+ repeated string product_links = 21 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Contains ASINs (Amazon Standard Identification Numbers)
+ // associated with a product.
+ repeated string asins = 22 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Contains GTINs (global trade item numbers) associated with a
+ // product. Sub-types of GTINs (e.g. UPC, EAN, ISBN, JAN) are supported.
+ repeated string gtins = 23 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Contains MPNs (manufacturer part numbers) associated with a
+ // product.
+ repeated string mpns = 24 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Contains SKUs (stock keeping units) associated with a product.
+ // Often this matches the product Offer Id in the product feed.
+ repeated string skus = 25 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Contains brand names associated with a product.
+ repeated string brands = 26 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Indicates whether the review is marked as spam in the publisher's
+ // system.
+ optional bool is_spam = 27 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The method used to collect the review.
+ CollectionMethod collection_method = 28
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A permanent, unique identifier for the transaction associated
+ // with the review in the publisher's system. This ID can be used to indicate
+ // that multiple reviews are associated with the same transaction.
+ string transaction_id = 29 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Product review status.
+message ProductReviewStatus {
+ // The destination status of the product review status.
+ message ProductReviewDestinationStatus {
+ // Output only. The name of the reporting context.
+ google.shopping.type.ReportingContext.ReportingContextEnum
+ reporting_context = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+ }
+
+ // The ItemLevelIssue of the product review status.
+ message ProductReviewItemLevelIssue {
+ // How the issue affects the serving of the product review.
+ enum Severity {
+ // Not specified.
+ SEVERITY_UNSPECIFIED = 0;
+
+ // This issue represents a warning and does not have a direct affect
+ // on the product review.
+ NOT_IMPACTED = 1;
+
+ // Issue disapproves the product review.
+ DISAPPROVED = 2;
+ }
+
+ // Output only. The error code of the issue.
+ string code = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. How this issue affects serving of the product review.
+ Severity severity = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Whether the issue can be resolved by the merchant.
+ string resolution = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The attribute's name, if the issue is caused by a single
+ // attribute.
+ string attribute = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The reporting context the issue applies to.
+ google.shopping.type.ReportingContext.ReportingContextEnum
+ reporting_context = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A short issue description in English.
+ string description = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A detailed issue description in English.
+ string detail = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The URL of a web page to help with resolving this issue.
+ string documentation = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
+ }
+
+ // Output only. The intended destinations for the product review.
+ repeated ProductReviewDestinationStatus destination_statuses = 3
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A list of all issues associated with the product review.
+ repeated ProductReviewItemLevelIssue item_level_issues = 4
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Date on which the item has been created, in [ISO
+ // 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
+ google.protobuf.Timestamp create_time = 5
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. 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_time = 6
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-shopping-merchant-reviews/protos/google/shopping/type/types.proto b/packages/google-shopping-merchant-reviews/protos/google/shopping/type/types.proto
new file mode 100644
index 00000000000..0d219e72d6a
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/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/packages/google-shopping-merchant-reviews/protos/protos.d.ts b/packages/google-shopping-merchant-reviews/protos/protos.d.ts
new file mode 100644
index 00000000000..6480e323ebe
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/protos/protos.d.ts
@@ -0,0 +1,10124 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+import type {protobuf as $protobuf} from "google-gax";
+import Long = require("long");
+/** Namespace google. */
+export namespace google {
+
+ /** Namespace shopping. */
+ namespace shopping {
+
+ /** Namespace merchant. */
+ namespace merchant {
+
+ /** Namespace reviews. */
+ namespace reviews {
+
+ /** Namespace v1beta. */
+ namespace v1beta {
+
+ /** Represents a MerchantReviewsService */
+ class MerchantReviewsService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new MerchantReviewsService 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 MerchantReviewsService 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): MerchantReviewsService;
+
+ /**
+ * Calls GetMerchantReview.
+ * @param request GetMerchantReviewRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and MerchantReview
+ */
+ public getMerchantReview(request: google.shopping.merchant.reviews.v1beta.IGetMerchantReviewRequest, callback: google.shopping.merchant.reviews.v1beta.MerchantReviewsService.GetMerchantReviewCallback): void;
+
+ /**
+ * Calls GetMerchantReview.
+ * @param request GetMerchantReviewRequest message or plain object
+ * @returns Promise
+ */
+ public getMerchantReview(request: google.shopping.merchant.reviews.v1beta.IGetMerchantReviewRequest): Promise;
+
+ /**
+ * Calls ListMerchantReviews.
+ * @param request ListMerchantReviewsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListMerchantReviewsResponse
+ */
+ public listMerchantReviews(request: google.shopping.merchant.reviews.v1beta.IListMerchantReviewsRequest, callback: google.shopping.merchant.reviews.v1beta.MerchantReviewsService.ListMerchantReviewsCallback): void;
+
+ /**
+ * Calls ListMerchantReviews.
+ * @param request ListMerchantReviewsRequest message or plain object
+ * @returns Promise
+ */
+ public listMerchantReviews(request: google.shopping.merchant.reviews.v1beta.IListMerchantReviewsRequest): Promise;
+
+ /**
+ * Calls InsertMerchantReview.
+ * @param request InsertMerchantReviewRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and MerchantReview
+ */
+ public insertMerchantReview(request: google.shopping.merchant.reviews.v1beta.IInsertMerchantReviewRequest, callback: google.shopping.merchant.reviews.v1beta.MerchantReviewsService.InsertMerchantReviewCallback): void;
+
+ /**
+ * Calls InsertMerchantReview.
+ * @param request InsertMerchantReviewRequest message or plain object
+ * @returns Promise
+ */
+ public insertMerchantReview(request: google.shopping.merchant.reviews.v1beta.IInsertMerchantReviewRequest): Promise;
+
+ /**
+ * Calls DeleteMerchantReview.
+ * @param request DeleteMerchantReviewRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteMerchantReview(request: google.shopping.merchant.reviews.v1beta.IDeleteMerchantReviewRequest, callback: google.shopping.merchant.reviews.v1beta.MerchantReviewsService.DeleteMerchantReviewCallback): void;
+
+ /**
+ * Calls DeleteMerchantReview.
+ * @param request DeleteMerchantReviewRequest message or plain object
+ * @returns Promise
+ */
+ public deleteMerchantReview(request: google.shopping.merchant.reviews.v1beta.IDeleteMerchantReviewRequest): Promise;
+ }
+
+ namespace MerchantReviewsService {
+
+ /**
+ * Callback as used by {@link google.shopping.merchant.reviews.v1beta.MerchantReviewsService|getMerchantReview}.
+ * @param error Error, if any
+ * @param [response] MerchantReview
+ */
+ type GetMerchantReviewCallback = (error: (Error|null), response?: google.shopping.merchant.reviews.v1beta.MerchantReview) => void;
+
+ /**
+ * Callback as used by {@link google.shopping.merchant.reviews.v1beta.MerchantReviewsService|listMerchantReviews}.
+ * @param error Error, if any
+ * @param [response] ListMerchantReviewsResponse
+ */
+ type ListMerchantReviewsCallback = (error: (Error|null), response?: google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.shopping.merchant.reviews.v1beta.MerchantReviewsService|insertMerchantReview}.
+ * @param error Error, if any
+ * @param [response] MerchantReview
+ */
+ type InsertMerchantReviewCallback = (error: (Error|null), response?: google.shopping.merchant.reviews.v1beta.MerchantReview) => void;
+
+ /**
+ * Callback as used by {@link google.shopping.merchant.reviews.v1beta.MerchantReviewsService|deleteMerchantReview}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteMerchantReviewCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+ }
+
+ /** Properties of a GetMerchantReviewRequest. */
+ interface IGetMerchantReviewRequest {
+
+ /** GetMerchantReviewRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetMerchantReviewRequest. */
+ class GetMerchantReviewRequest implements IGetMerchantReviewRequest {
+
+ /**
+ * Constructs a new GetMerchantReviewRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.IGetMerchantReviewRequest);
+
+ /** GetMerchantReviewRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetMerchantReviewRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetMerchantReviewRequest instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.IGetMerchantReviewRequest): google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest;
+
+ /**
+ * Encodes the specified GetMerchantReviewRequest message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest.verify|verify} messages.
+ * @param message GetMerchantReviewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.IGetMerchantReviewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetMerchantReviewRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest.verify|verify} messages.
+ * @param message GetMerchantReviewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.IGetMerchantReviewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetMerchantReviewRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetMerchantReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest;
+
+ /**
+ * Decodes a GetMerchantReviewRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetMerchantReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest;
+
+ /**
+ * Verifies a GetMerchantReviewRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetMerchantReviewRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetMerchantReviewRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest;
+
+ /**
+ * Creates a plain object from a GetMerchantReviewRequest message. Also converts values to other types if specified.
+ * @param message GetMerchantReviewRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetMerchantReviewRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetMerchantReviewRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteMerchantReviewRequest. */
+ interface IDeleteMerchantReviewRequest {
+
+ /** DeleteMerchantReviewRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteMerchantReviewRequest. */
+ class DeleteMerchantReviewRequest implements IDeleteMerchantReviewRequest {
+
+ /**
+ * Constructs a new DeleteMerchantReviewRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.IDeleteMerchantReviewRequest);
+
+ /** DeleteMerchantReviewRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteMerchantReviewRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteMerchantReviewRequest instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.IDeleteMerchantReviewRequest): google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest;
+
+ /**
+ * Encodes the specified DeleteMerchantReviewRequest message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest.verify|verify} messages.
+ * @param message DeleteMerchantReviewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.IDeleteMerchantReviewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteMerchantReviewRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest.verify|verify} messages.
+ * @param message DeleteMerchantReviewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.IDeleteMerchantReviewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteMerchantReviewRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteMerchantReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest;
+
+ /**
+ * Decodes a DeleteMerchantReviewRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteMerchantReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest;
+
+ /**
+ * Verifies a DeleteMerchantReviewRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteMerchantReviewRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteMerchantReviewRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest;
+
+ /**
+ * Creates a plain object from a DeleteMerchantReviewRequest message. Also converts values to other types if specified.
+ * @param message DeleteMerchantReviewRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteMerchantReviewRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteMerchantReviewRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListMerchantReviewsRequest. */
+ interface IListMerchantReviewsRequest {
+
+ /** ListMerchantReviewsRequest parent */
+ parent?: (string|null);
+
+ /** ListMerchantReviewsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListMerchantReviewsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListMerchantReviewsRequest. */
+ class ListMerchantReviewsRequest implements IListMerchantReviewsRequest {
+
+ /**
+ * Constructs a new ListMerchantReviewsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.IListMerchantReviewsRequest);
+
+ /** ListMerchantReviewsRequest parent. */
+ public parent: string;
+
+ /** ListMerchantReviewsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListMerchantReviewsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListMerchantReviewsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListMerchantReviewsRequest instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.IListMerchantReviewsRequest): google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest;
+
+ /**
+ * Encodes the specified ListMerchantReviewsRequest message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest.verify|verify} messages.
+ * @param message ListMerchantReviewsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.IListMerchantReviewsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListMerchantReviewsRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest.verify|verify} messages.
+ * @param message ListMerchantReviewsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.IListMerchantReviewsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListMerchantReviewsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListMerchantReviewsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest;
+
+ /**
+ * Decodes a ListMerchantReviewsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListMerchantReviewsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest;
+
+ /**
+ * Verifies a ListMerchantReviewsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListMerchantReviewsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListMerchantReviewsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest;
+
+ /**
+ * Creates a plain object from a ListMerchantReviewsRequest message. Also converts values to other types if specified.
+ * @param message ListMerchantReviewsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListMerchantReviewsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListMerchantReviewsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an InsertMerchantReviewRequest. */
+ interface IInsertMerchantReviewRequest {
+
+ /** InsertMerchantReviewRequest parent */
+ parent?: (string|null);
+
+ /** InsertMerchantReviewRequest merchantReview */
+ merchantReview?: (google.shopping.merchant.reviews.v1beta.IMerchantReview|null);
+
+ /** InsertMerchantReviewRequest dataSource */
+ dataSource?: (string|null);
+ }
+
+ /** Represents an InsertMerchantReviewRequest. */
+ class InsertMerchantReviewRequest implements IInsertMerchantReviewRequest {
+
+ /**
+ * Constructs a new InsertMerchantReviewRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.IInsertMerchantReviewRequest);
+
+ /** InsertMerchantReviewRequest parent. */
+ public parent: string;
+
+ /** InsertMerchantReviewRequest merchantReview. */
+ public merchantReview?: (google.shopping.merchant.reviews.v1beta.IMerchantReview|null);
+
+ /** InsertMerchantReviewRequest dataSource. */
+ public dataSource: string;
+
+ /**
+ * Creates a new InsertMerchantReviewRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InsertMerchantReviewRequest instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.IInsertMerchantReviewRequest): google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest;
+
+ /**
+ * Encodes the specified InsertMerchantReviewRequest message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest.verify|verify} messages.
+ * @param message InsertMerchantReviewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.IInsertMerchantReviewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InsertMerchantReviewRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest.verify|verify} messages.
+ * @param message InsertMerchantReviewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.IInsertMerchantReviewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InsertMerchantReviewRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InsertMerchantReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest;
+
+ /**
+ * Decodes an InsertMerchantReviewRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InsertMerchantReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest;
+
+ /**
+ * Verifies an InsertMerchantReviewRequest message.
+ * @param message Plain 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 InsertMerchantReviewRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InsertMerchantReviewRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest;
+
+ /**
+ * Creates a plain object from an InsertMerchantReviewRequest message. Also converts values to other types if specified.
+ * @param message InsertMerchantReviewRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InsertMerchantReviewRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for InsertMerchantReviewRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListMerchantReviewsResponse. */
+ interface IListMerchantReviewsResponse {
+
+ /** ListMerchantReviewsResponse merchantReviews */
+ merchantReviews?: (google.shopping.merchant.reviews.v1beta.IMerchantReview[]|null);
+
+ /** ListMerchantReviewsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListMerchantReviewsResponse. */
+ class ListMerchantReviewsResponse implements IListMerchantReviewsResponse {
+
+ /**
+ * Constructs a new ListMerchantReviewsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.IListMerchantReviewsResponse);
+
+ /** ListMerchantReviewsResponse merchantReviews. */
+ public merchantReviews: google.shopping.merchant.reviews.v1beta.IMerchantReview[];
+
+ /** ListMerchantReviewsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListMerchantReviewsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListMerchantReviewsResponse instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.IListMerchantReviewsResponse): google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse;
+
+ /**
+ * Encodes the specified ListMerchantReviewsResponse message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse.verify|verify} messages.
+ * @param message ListMerchantReviewsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.IListMerchantReviewsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListMerchantReviewsResponse message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse.verify|verify} messages.
+ * @param message ListMerchantReviewsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.IListMerchantReviewsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListMerchantReviewsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListMerchantReviewsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse;
+
+ /**
+ * Decodes a ListMerchantReviewsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListMerchantReviewsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse;
+
+ /**
+ * Verifies a ListMerchantReviewsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListMerchantReviewsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListMerchantReviewsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse;
+
+ /**
+ * Creates a plain object from a ListMerchantReviewsResponse message. Also converts values to other types if specified.
+ * @param message ListMerchantReviewsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListMerchantReviewsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListMerchantReviewsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MerchantReview. */
+ interface IMerchantReview {
+
+ /** MerchantReview name */
+ name?: (string|null);
+
+ /** MerchantReview merchantReviewId */
+ merchantReviewId?: (string|null);
+
+ /** MerchantReview attributes */
+ attributes?: (google.shopping.merchant.reviews.v1beta.IMerchantReviewAttributes|null);
+
+ /** MerchantReview customAttributes */
+ customAttributes?: (google.shopping.type.ICustomAttribute[]|null);
+
+ /** MerchantReview dataSource */
+ dataSource?: (string|null);
+
+ /** MerchantReview merchantReviewStatus */
+ merchantReviewStatus?: (google.shopping.merchant.reviews.v1beta.IMerchantReviewStatus|null);
+ }
+
+ /** Represents a MerchantReview. */
+ class MerchantReview implements IMerchantReview {
+
+ /**
+ * Constructs a new MerchantReview.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.IMerchantReview);
+
+ /** MerchantReview name. */
+ public name: string;
+
+ /** MerchantReview merchantReviewId. */
+ public merchantReviewId: string;
+
+ /** MerchantReview attributes. */
+ public attributes?: (google.shopping.merchant.reviews.v1beta.IMerchantReviewAttributes|null);
+
+ /** MerchantReview customAttributes. */
+ public customAttributes: google.shopping.type.ICustomAttribute[];
+
+ /** MerchantReview dataSource. */
+ public dataSource: string;
+
+ /** MerchantReview merchantReviewStatus. */
+ public merchantReviewStatus?: (google.shopping.merchant.reviews.v1beta.IMerchantReviewStatus|null);
+
+ /**
+ * Creates a new MerchantReview instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MerchantReview instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.IMerchantReview): google.shopping.merchant.reviews.v1beta.MerchantReview;
+
+ /**
+ * Encodes the specified MerchantReview message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReview.verify|verify} messages.
+ * @param message MerchantReview message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.IMerchantReview, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MerchantReview message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReview.verify|verify} messages.
+ * @param message MerchantReview message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.IMerchantReview, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MerchantReview message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MerchantReview
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.MerchantReview;
+
+ /**
+ * Decodes a MerchantReview message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MerchantReview
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.MerchantReview;
+
+ /**
+ * Verifies a MerchantReview message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MerchantReview message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MerchantReview
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.MerchantReview;
+
+ /**
+ * Creates a plain object from a MerchantReview message. Also converts values to other types if specified.
+ * @param message MerchantReview
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.MerchantReview, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MerchantReview to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MerchantReview
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MerchantReviewAttributes. */
+ interface IMerchantReviewAttributes {
+
+ /** MerchantReviewAttributes merchantId */
+ merchantId?: (string|null);
+
+ /** MerchantReviewAttributes merchantDisplayName */
+ merchantDisplayName?: (string|null);
+
+ /** MerchantReviewAttributes merchantLink */
+ merchantLink?: (string|null);
+
+ /** MerchantReviewAttributes merchantRatingLink */
+ merchantRatingLink?: (string|null);
+
+ /** MerchantReviewAttributes minRating */
+ minRating?: (number|Long|string|null);
+
+ /** MerchantReviewAttributes maxRating */
+ maxRating?: (number|Long|string|null);
+
+ /** MerchantReviewAttributes rating */
+ rating?: (number|null);
+
+ /** MerchantReviewAttributes title */
+ title?: (string|null);
+
+ /** MerchantReviewAttributes content */
+ content?: (string|null);
+
+ /** MerchantReviewAttributes reviewerId */
+ reviewerId?: (string|null);
+
+ /** MerchantReviewAttributes reviewerUsername */
+ reviewerUsername?: (string|null);
+
+ /** MerchantReviewAttributes isAnonymous */
+ isAnonymous?: (boolean|null);
+
+ /** MerchantReviewAttributes collectionMethod */
+ collectionMethod?: (google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.CollectionMethod|keyof typeof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.CollectionMethod|null);
+
+ /** MerchantReviewAttributes reviewTime */
+ reviewTime?: (google.protobuf.ITimestamp|null);
+
+ /** MerchantReviewAttributes reviewLanguage */
+ reviewLanguage?: (string|null);
+
+ /** MerchantReviewAttributes reviewCountry */
+ reviewCountry?: (string|null);
+ }
+
+ /** Represents a MerchantReviewAttributes. */
+ class MerchantReviewAttributes implements IMerchantReviewAttributes {
+
+ /**
+ * Constructs a new MerchantReviewAttributes.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.IMerchantReviewAttributes);
+
+ /** MerchantReviewAttributes merchantId. */
+ public merchantId?: (string|null);
+
+ /** MerchantReviewAttributes merchantDisplayName. */
+ public merchantDisplayName?: (string|null);
+
+ /** MerchantReviewAttributes merchantLink. */
+ public merchantLink?: (string|null);
+
+ /** MerchantReviewAttributes merchantRatingLink. */
+ public merchantRatingLink?: (string|null);
+
+ /** MerchantReviewAttributes minRating. */
+ public minRating?: (number|Long|string|null);
+
+ /** MerchantReviewAttributes maxRating. */
+ public maxRating?: (number|Long|string|null);
+
+ /** MerchantReviewAttributes rating. */
+ public rating?: (number|null);
+
+ /** MerchantReviewAttributes title. */
+ public title?: (string|null);
+
+ /** MerchantReviewAttributes content. */
+ public content?: (string|null);
+
+ /** MerchantReviewAttributes reviewerId. */
+ public reviewerId?: (string|null);
+
+ /** MerchantReviewAttributes reviewerUsername. */
+ public reviewerUsername?: (string|null);
+
+ /** MerchantReviewAttributes isAnonymous. */
+ public isAnonymous?: (boolean|null);
+
+ /** MerchantReviewAttributes collectionMethod. */
+ public collectionMethod?: (google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.CollectionMethod|keyof typeof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.CollectionMethod|null);
+
+ /** MerchantReviewAttributes reviewTime. */
+ public reviewTime?: (google.protobuf.ITimestamp|null);
+
+ /** MerchantReviewAttributes reviewLanguage. */
+ public reviewLanguage?: (string|null);
+
+ /** MerchantReviewAttributes reviewCountry. */
+ public reviewCountry?: (string|null);
+
+ /** MerchantReviewAttributes _merchantId. */
+ public _merchantId?: "merchantId";
+
+ /** MerchantReviewAttributes _merchantDisplayName. */
+ public _merchantDisplayName?: "merchantDisplayName";
+
+ /** MerchantReviewAttributes _merchantLink. */
+ public _merchantLink?: "merchantLink";
+
+ /** MerchantReviewAttributes _merchantRatingLink. */
+ public _merchantRatingLink?: "merchantRatingLink";
+
+ /** MerchantReviewAttributes _minRating. */
+ public _minRating?: "minRating";
+
+ /** MerchantReviewAttributes _maxRating. */
+ public _maxRating?: "maxRating";
+
+ /** MerchantReviewAttributes _rating. */
+ public _rating?: "rating";
+
+ /** MerchantReviewAttributes _title. */
+ public _title?: "title";
+
+ /** MerchantReviewAttributes _content. */
+ public _content?: "content";
+
+ /** MerchantReviewAttributes _reviewerId. */
+ public _reviewerId?: "reviewerId";
+
+ /** MerchantReviewAttributes _reviewerUsername. */
+ public _reviewerUsername?: "reviewerUsername";
+
+ /** MerchantReviewAttributes _isAnonymous. */
+ public _isAnonymous?: "isAnonymous";
+
+ /** MerchantReviewAttributes _collectionMethod. */
+ public _collectionMethod?: "collectionMethod";
+
+ /** MerchantReviewAttributes _reviewTime. */
+ public _reviewTime?: "reviewTime";
+
+ /** MerchantReviewAttributes _reviewLanguage. */
+ public _reviewLanguage?: "reviewLanguage";
+
+ /** MerchantReviewAttributes _reviewCountry. */
+ public _reviewCountry?: "reviewCountry";
+
+ /**
+ * Creates a new MerchantReviewAttributes instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MerchantReviewAttributes instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.IMerchantReviewAttributes): google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes;
+
+ /**
+ * Encodes the specified MerchantReviewAttributes message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.verify|verify} messages.
+ * @param message MerchantReviewAttributes message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.IMerchantReviewAttributes, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MerchantReviewAttributes message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.verify|verify} messages.
+ * @param message MerchantReviewAttributes message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.IMerchantReviewAttributes, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MerchantReviewAttributes message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MerchantReviewAttributes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes;
+
+ /**
+ * Decodes a MerchantReviewAttributes message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MerchantReviewAttributes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes;
+
+ /**
+ * Verifies a MerchantReviewAttributes message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MerchantReviewAttributes message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MerchantReviewAttributes
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes;
+
+ /**
+ * Creates a plain object from a MerchantReviewAttributes message. Also converts values to other types if specified.
+ * @param message MerchantReviewAttributes
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MerchantReviewAttributes to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MerchantReviewAttributes
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MerchantReviewAttributes {
+
+ /** CollectionMethod enum. */
+ enum CollectionMethod {
+ COLLECTION_METHOD_UNSPECIFIED = 0,
+ MERCHANT_UNSOLICITED = 1,
+ POINT_OF_SALE = 2,
+ AFTER_FULFILLMENT = 3
+ }
+ }
+
+ /** Properties of a MerchantReviewStatus. */
+ interface IMerchantReviewStatus {
+
+ /** MerchantReviewStatus destinationStatuses */
+ destinationStatuses?: (google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewDestinationStatus[]|null);
+
+ /** MerchantReviewStatus itemLevelIssues */
+ itemLevelIssues?: (google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewItemLevelIssue[]|null);
+
+ /** MerchantReviewStatus createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** MerchantReviewStatus lastUpdateTime */
+ lastUpdateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a MerchantReviewStatus. */
+ class MerchantReviewStatus implements IMerchantReviewStatus {
+
+ /**
+ * Constructs a new MerchantReviewStatus.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.IMerchantReviewStatus);
+
+ /** MerchantReviewStatus destinationStatuses. */
+ public destinationStatuses: google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewDestinationStatus[];
+
+ /** MerchantReviewStatus itemLevelIssues. */
+ public itemLevelIssues: google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewItemLevelIssue[];
+
+ /** MerchantReviewStatus createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** MerchantReviewStatus lastUpdateTime. */
+ public lastUpdateTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new MerchantReviewStatus instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MerchantReviewStatus instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.IMerchantReviewStatus): google.shopping.merchant.reviews.v1beta.MerchantReviewStatus;
+
+ /**
+ * Encodes the specified MerchantReviewStatus message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.verify|verify} messages.
+ * @param message MerchantReviewStatus message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.IMerchantReviewStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MerchantReviewStatus message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.verify|verify} messages.
+ * @param message MerchantReviewStatus message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.IMerchantReviewStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MerchantReviewStatus message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MerchantReviewStatus
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.MerchantReviewStatus;
+
+ /**
+ * Decodes a MerchantReviewStatus message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MerchantReviewStatus
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.MerchantReviewStatus;
+
+ /**
+ * Verifies a MerchantReviewStatus message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MerchantReviewStatus message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MerchantReviewStatus
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.MerchantReviewStatus;
+
+ /**
+ * Creates a plain object from a MerchantReviewStatus message. Also converts values to other types if specified.
+ * @param message MerchantReviewStatus
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.MerchantReviewStatus, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MerchantReviewStatus to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MerchantReviewStatus
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MerchantReviewStatus {
+
+ /** Properties of a MerchantReviewDestinationStatus. */
+ interface IMerchantReviewDestinationStatus {
+
+ /** MerchantReviewDestinationStatus reportingContext */
+ reportingContext?: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum|null);
+ }
+
+ /** Represents a MerchantReviewDestinationStatus. */
+ class MerchantReviewDestinationStatus implements IMerchantReviewDestinationStatus {
+
+ /**
+ * Constructs a new MerchantReviewDestinationStatus.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewDestinationStatus);
+
+ /** MerchantReviewDestinationStatus reportingContext. */
+ public reportingContext: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum);
+
+ /**
+ * Creates a new MerchantReviewDestinationStatus instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MerchantReviewDestinationStatus instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewDestinationStatus): google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus;
+
+ /**
+ * Encodes the specified MerchantReviewDestinationStatus message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus.verify|verify} messages.
+ * @param message MerchantReviewDestinationStatus message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewDestinationStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MerchantReviewDestinationStatus message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus.verify|verify} messages.
+ * @param message MerchantReviewDestinationStatus message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewDestinationStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MerchantReviewDestinationStatus message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MerchantReviewDestinationStatus
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus;
+
+ /**
+ * Decodes a MerchantReviewDestinationStatus message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MerchantReviewDestinationStatus
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus;
+
+ /**
+ * Verifies a MerchantReviewDestinationStatus message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MerchantReviewDestinationStatus message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MerchantReviewDestinationStatus
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus;
+
+ /**
+ * Creates a plain object from a MerchantReviewDestinationStatus message. Also converts values to other types if specified.
+ * @param message MerchantReviewDestinationStatus
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MerchantReviewDestinationStatus to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MerchantReviewDestinationStatus
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MerchantReviewItemLevelIssue. */
+ interface IMerchantReviewItemLevelIssue {
+
+ /** MerchantReviewItemLevelIssue code */
+ code?: (string|null);
+
+ /** MerchantReviewItemLevelIssue severity */
+ severity?: (google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue.Severity|keyof typeof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue.Severity|null);
+
+ /** MerchantReviewItemLevelIssue resolution */
+ resolution?: (string|null);
+
+ /** MerchantReviewItemLevelIssue attribute */
+ attribute?: (string|null);
+
+ /** MerchantReviewItemLevelIssue reportingContext */
+ reportingContext?: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum|null);
+
+ /** MerchantReviewItemLevelIssue description */
+ description?: (string|null);
+
+ /** MerchantReviewItemLevelIssue detail */
+ detail?: (string|null);
+
+ /** MerchantReviewItemLevelIssue documentation */
+ documentation?: (string|null);
+ }
+
+ /** Represents a MerchantReviewItemLevelIssue. */
+ class MerchantReviewItemLevelIssue implements IMerchantReviewItemLevelIssue {
+
+ /**
+ * Constructs a new MerchantReviewItemLevelIssue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewItemLevelIssue);
+
+ /** MerchantReviewItemLevelIssue code. */
+ public code: string;
+
+ /** MerchantReviewItemLevelIssue severity. */
+ public severity: (google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue.Severity|keyof typeof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue.Severity);
+
+ /** MerchantReviewItemLevelIssue resolution. */
+ public resolution: string;
+
+ /** MerchantReviewItemLevelIssue attribute. */
+ public attribute: string;
+
+ /** MerchantReviewItemLevelIssue reportingContext. */
+ public reportingContext: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum);
+
+ /** MerchantReviewItemLevelIssue description. */
+ public description: string;
+
+ /** MerchantReviewItemLevelIssue detail. */
+ public detail: string;
+
+ /** MerchantReviewItemLevelIssue documentation. */
+ public documentation: string;
+
+ /**
+ * Creates a new MerchantReviewItemLevelIssue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MerchantReviewItemLevelIssue instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewItemLevelIssue): google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue;
+
+ /**
+ * Encodes the specified MerchantReviewItemLevelIssue message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue.verify|verify} messages.
+ * @param message MerchantReviewItemLevelIssue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewItemLevelIssue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MerchantReviewItemLevelIssue message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue.verify|verify} messages.
+ * @param message MerchantReviewItemLevelIssue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewItemLevelIssue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MerchantReviewItemLevelIssue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MerchantReviewItemLevelIssue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue;
+
+ /**
+ * Decodes a MerchantReviewItemLevelIssue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MerchantReviewItemLevelIssue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue;
+
+ /**
+ * Verifies a MerchantReviewItemLevelIssue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MerchantReviewItemLevelIssue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MerchantReviewItemLevelIssue
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue;
+
+ /**
+ * Creates a plain object from a MerchantReviewItemLevelIssue message. Also converts values to other types if specified.
+ * @param message MerchantReviewItemLevelIssue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MerchantReviewItemLevelIssue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MerchantReviewItemLevelIssue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MerchantReviewItemLevelIssue {
+
+ /** Severity enum. */
+ enum Severity {
+ SEVERITY_UNSPECIFIED = 0,
+ NOT_IMPACTED = 1,
+ DISAPPROVED = 2
+ }
+ }
+ }
+
+ /** Represents a ProductReviewsService */
+ class ProductReviewsService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new ProductReviewsService 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 ProductReviewsService 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): ProductReviewsService;
+
+ /**
+ * Calls GetProductReview.
+ * @param request GetProductReviewRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ProductReview
+ */
+ public getProductReview(request: google.shopping.merchant.reviews.v1beta.IGetProductReviewRequest, callback: google.shopping.merchant.reviews.v1beta.ProductReviewsService.GetProductReviewCallback): void;
+
+ /**
+ * Calls GetProductReview.
+ * @param request GetProductReviewRequest message or plain object
+ * @returns Promise
+ */
+ public getProductReview(request: google.shopping.merchant.reviews.v1beta.IGetProductReviewRequest): Promise;
+
+ /**
+ * Calls ListProductReviews.
+ * @param request ListProductReviewsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListProductReviewsResponse
+ */
+ public listProductReviews(request: google.shopping.merchant.reviews.v1beta.IListProductReviewsRequest, callback: google.shopping.merchant.reviews.v1beta.ProductReviewsService.ListProductReviewsCallback): void;
+
+ /**
+ * Calls ListProductReviews.
+ * @param request ListProductReviewsRequest message or plain object
+ * @returns Promise
+ */
+ public listProductReviews(request: google.shopping.merchant.reviews.v1beta.IListProductReviewsRequest): Promise;
+
+ /**
+ * Calls InsertProductReview.
+ * @param request InsertProductReviewRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ProductReview
+ */
+ public insertProductReview(request: google.shopping.merchant.reviews.v1beta.IInsertProductReviewRequest, callback: google.shopping.merchant.reviews.v1beta.ProductReviewsService.InsertProductReviewCallback): void;
+
+ /**
+ * Calls InsertProductReview.
+ * @param request InsertProductReviewRequest message or plain object
+ * @returns Promise
+ */
+ public insertProductReview(request: google.shopping.merchant.reviews.v1beta.IInsertProductReviewRequest): Promise;
+
+ /**
+ * Calls DeleteProductReview.
+ * @param request DeleteProductReviewRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteProductReview(request: google.shopping.merchant.reviews.v1beta.IDeleteProductReviewRequest, callback: google.shopping.merchant.reviews.v1beta.ProductReviewsService.DeleteProductReviewCallback): void;
+
+ /**
+ * Calls DeleteProductReview.
+ * @param request DeleteProductReviewRequest message or plain object
+ * @returns Promise
+ */
+ public deleteProductReview(request: google.shopping.merchant.reviews.v1beta.IDeleteProductReviewRequest): Promise;
+ }
+
+ namespace ProductReviewsService {
+
+ /**
+ * Callback as used by {@link google.shopping.merchant.reviews.v1beta.ProductReviewsService|getProductReview}.
+ * @param error Error, if any
+ * @param [response] ProductReview
+ */
+ type GetProductReviewCallback = (error: (Error|null), response?: google.shopping.merchant.reviews.v1beta.ProductReview) => void;
+
+ /**
+ * Callback as used by {@link google.shopping.merchant.reviews.v1beta.ProductReviewsService|listProductReviews}.
+ * @param error Error, if any
+ * @param [response] ListProductReviewsResponse
+ */
+ type ListProductReviewsCallback = (error: (Error|null), response?: google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.shopping.merchant.reviews.v1beta.ProductReviewsService|insertProductReview}.
+ * @param error Error, if any
+ * @param [response] ProductReview
+ */
+ type InsertProductReviewCallback = (error: (Error|null), response?: google.shopping.merchant.reviews.v1beta.ProductReview) => void;
+
+ /**
+ * Callback as used by {@link google.shopping.merchant.reviews.v1beta.ProductReviewsService|deleteProductReview}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteProductReviewCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+ }
+
+ /** Properties of a GetProductReviewRequest. */
+ interface IGetProductReviewRequest {
+
+ /** GetProductReviewRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetProductReviewRequest. */
+ class GetProductReviewRequest implements IGetProductReviewRequest {
+
+ /**
+ * Constructs a new GetProductReviewRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.IGetProductReviewRequest);
+
+ /** GetProductReviewRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetProductReviewRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetProductReviewRequest instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.IGetProductReviewRequest): google.shopping.merchant.reviews.v1beta.GetProductReviewRequest;
+
+ /**
+ * Encodes the specified GetProductReviewRequest message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.GetProductReviewRequest.verify|verify} messages.
+ * @param message GetProductReviewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.IGetProductReviewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetProductReviewRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.GetProductReviewRequest.verify|verify} messages.
+ * @param message GetProductReviewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.IGetProductReviewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetProductReviewRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetProductReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.GetProductReviewRequest;
+
+ /**
+ * Decodes a GetProductReviewRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetProductReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.GetProductReviewRequest;
+
+ /**
+ * Verifies a GetProductReviewRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetProductReviewRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetProductReviewRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.GetProductReviewRequest;
+
+ /**
+ * Creates a plain object from a GetProductReviewRequest message. Also converts values to other types if specified.
+ * @param message GetProductReviewRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.GetProductReviewRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetProductReviewRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetProductReviewRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteProductReviewRequest. */
+ interface IDeleteProductReviewRequest {
+
+ /** DeleteProductReviewRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteProductReviewRequest. */
+ class DeleteProductReviewRequest implements IDeleteProductReviewRequest {
+
+ /**
+ * Constructs a new DeleteProductReviewRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.IDeleteProductReviewRequest);
+
+ /** DeleteProductReviewRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteProductReviewRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteProductReviewRequest instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.IDeleteProductReviewRequest): google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest;
+
+ /**
+ * Encodes the specified DeleteProductReviewRequest message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest.verify|verify} messages.
+ * @param message DeleteProductReviewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.IDeleteProductReviewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteProductReviewRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest.verify|verify} messages.
+ * @param message DeleteProductReviewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.IDeleteProductReviewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteProductReviewRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteProductReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest;
+
+ /**
+ * Decodes a DeleteProductReviewRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteProductReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest;
+
+ /**
+ * Verifies a DeleteProductReviewRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteProductReviewRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteProductReviewRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest;
+
+ /**
+ * Creates a plain object from a DeleteProductReviewRequest message. Also converts values to other types if specified.
+ * @param message DeleteProductReviewRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteProductReviewRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteProductReviewRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListProductReviewsRequest. */
+ interface IListProductReviewsRequest {
+
+ /** ListProductReviewsRequest parent */
+ parent?: (string|null);
+
+ /** ListProductReviewsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListProductReviewsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListProductReviewsRequest. */
+ class ListProductReviewsRequest implements IListProductReviewsRequest {
+
+ /**
+ * Constructs a new ListProductReviewsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.IListProductReviewsRequest);
+
+ /** ListProductReviewsRequest parent. */
+ public parent: string;
+
+ /** ListProductReviewsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListProductReviewsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListProductReviewsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListProductReviewsRequest instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.IListProductReviewsRequest): google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest;
+
+ /**
+ * Encodes the specified ListProductReviewsRequest message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest.verify|verify} messages.
+ * @param message ListProductReviewsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.IListProductReviewsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListProductReviewsRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest.verify|verify} messages.
+ * @param message ListProductReviewsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.IListProductReviewsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListProductReviewsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListProductReviewsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest;
+
+ /**
+ * Decodes a ListProductReviewsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListProductReviewsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest;
+
+ /**
+ * Verifies a ListProductReviewsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListProductReviewsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListProductReviewsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest;
+
+ /**
+ * Creates a plain object from a ListProductReviewsRequest message. Also converts values to other types if specified.
+ * @param message ListProductReviewsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListProductReviewsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListProductReviewsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an InsertProductReviewRequest. */
+ interface IInsertProductReviewRequest {
+
+ /** InsertProductReviewRequest parent */
+ parent?: (string|null);
+
+ /** InsertProductReviewRequest productReview */
+ productReview?: (google.shopping.merchant.reviews.v1beta.IProductReview|null);
+
+ /** InsertProductReviewRequest dataSource */
+ dataSource?: (string|null);
+ }
+
+ /** Represents an InsertProductReviewRequest. */
+ class InsertProductReviewRequest implements IInsertProductReviewRequest {
+
+ /**
+ * Constructs a new InsertProductReviewRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.IInsertProductReviewRequest);
+
+ /** InsertProductReviewRequest parent. */
+ public parent: string;
+
+ /** InsertProductReviewRequest productReview. */
+ public productReview?: (google.shopping.merchant.reviews.v1beta.IProductReview|null);
+
+ /** InsertProductReviewRequest dataSource. */
+ public dataSource: string;
+
+ /**
+ * Creates a new InsertProductReviewRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InsertProductReviewRequest instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.IInsertProductReviewRequest): google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest;
+
+ /**
+ * Encodes the specified InsertProductReviewRequest message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest.verify|verify} messages.
+ * @param message InsertProductReviewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.IInsertProductReviewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InsertProductReviewRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest.verify|verify} messages.
+ * @param message InsertProductReviewRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.IInsertProductReviewRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InsertProductReviewRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InsertProductReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest;
+
+ /**
+ * Decodes an InsertProductReviewRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InsertProductReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest;
+
+ /**
+ * Verifies an InsertProductReviewRequest message.
+ * @param message Plain 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 InsertProductReviewRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InsertProductReviewRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest;
+
+ /**
+ * Creates a plain object from an InsertProductReviewRequest message. Also converts values to other types if specified.
+ * @param message InsertProductReviewRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InsertProductReviewRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for InsertProductReviewRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListProductReviewsResponse. */
+ interface IListProductReviewsResponse {
+
+ /** ListProductReviewsResponse productReviews */
+ productReviews?: (google.shopping.merchant.reviews.v1beta.IProductReview[]|null);
+
+ /** ListProductReviewsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListProductReviewsResponse. */
+ class ListProductReviewsResponse implements IListProductReviewsResponse {
+
+ /**
+ * Constructs a new ListProductReviewsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.IListProductReviewsResponse);
+
+ /** ListProductReviewsResponse productReviews. */
+ public productReviews: google.shopping.merchant.reviews.v1beta.IProductReview[];
+
+ /** ListProductReviewsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListProductReviewsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListProductReviewsResponse instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.IListProductReviewsResponse): google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse;
+
+ /**
+ * Encodes the specified ListProductReviewsResponse message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse.verify|verify} messages.
+ * @param message ListProductReviewsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.IListProductReviewsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListProductReviewsResponse message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse.verify|verify} messages.
+ * @param message ListProductReviewsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.IListProductReviewsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListProductReviewsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListProductReviewsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse;
+
+ /**
+ * Decodes a ListProductReviewsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListProductReviewsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse;
+
+ /**
+ * Verifies a ListProductReviewsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListProductReviewsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListProductReviewsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse;
+
+ /**
+ * Creates a plain object from a ListProductReviewsResponse message. Also converts values to other types if specified.
+ * @param message ListProductReviewsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListProductReviewsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListProductReviewsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ProductReview. */
+ interface IProductReview {
+
+ /** ProductReview name */
+ name?: (string|null);
+
+ /** ProductReview productReviewId */
+ productReviewId?: (string|null);
+
+ /** ProductReview attributes */
+ attributes?: (google.shopping.merchant.reviews.v1beta.IProductReviewAttributes|null);
+
+ /** ProductReview customAttributes */
+ customAttributes?: (google.shopping.type.ICustomAttribute[]|null);
+
+ /** ProductReview dataSource */
+ dataSource?: (string|null);
+
+ /** ProductReview productReviewStatus */
+ productReviewStatus?: (google.shopping.merchant.reviews.v1beta.IProductReviewStatus|null);
+ }
+
+ /** Represents a ProductReview. */
+ class ProductReview implements IProductReview {
+
+ /**
+ * Constructs a new ProductReview.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.IProductReview);
+
+ /** ProductReview name. */
+ public name: string;
+
+ /** ProductReview productReviewId. */
+ public productReviewId: string;
+
+ /** ProductReview attributes. */
+ public attributes?: (google.shopping.merchant.reviews.v1beta.IProductReviewAttributes|null);
+
+ /** ProductReview customAttributes. */
+ public customAttributes: google.shopping.type.ICustomAttribute[];
+
+ /** ProductReview dataSource. */
+ public dataSource: string;
+
+ /** ProductReview productReviewStatus. */
+ public productReviewStatus?: (google.shopping.merchant.reviews.v1beta.IProductReviewStatus|null);
+
+ /**
+ * Creates a new ProductReview instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProductReview instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.IProductReview): google.shopping.merchant.reviews.v1beta.ProductReview;
+
+ /**
+ * Encodes the specified ProductReview message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReview.verify|verify} messages.
+ * @param message ProductReview message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.IProductReview, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProductReview message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReview.verify|verify} messages.
+ * @param message ProductReview message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.IProductReview, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProductReview message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProductReview
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.ProductReview;
+
+ /**
+ * Decodes a ProductReview message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProductReview
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.ProductReview;
+
+ /**
+ * Verifies a ProductReview message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProductReview message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProductReview
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.ProductReview;
+
+ /**
+ * Creates a plain object from a ProductReview message. Also converts values to other types if specified.
+ * @param message ProductReview
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.ProductReview, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProductReview to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProductReview
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ProductReviewAttributes. */
+ interface IProductReviewAttributes {
+
+ /** ProductReviewAttributes aggregatorName */
+ aggregatorName?: (string|null);
+
+ /** ProductReviewAttributes subclientName */
+ subclientName?: (string|null);
+
+ /** ProductReviewAttributes publisherName */
+ publisherName?: (string|null);
+
+ /** ProductReviewAttributes publisherFavicon */
+ publisherFavicon?: (string|null);
+
+ /** ProductReviewAttributes reviewerId */
+ reviewerId?: (string|null);
+
+ /** ProductReviewAttributes reviewerIsAnonymous */
+ reviewerIsAnonymous?: (boolean|null);
+
+ /** ProductReviewAttributes reviewerUsername */
+ reviewerUsername?: (string|null);
+
+ /** ProductReviewAttributes reviewLanguage */
+ reviewLanguage?: (string|null);
+
+ /** ProductReviewAttributes reviewCountry */
+ reviewCountry?: (string|null);
+
+ /** ProductReviewAttributes reviewTime */
+ reviewTime?: (google.protobuf.ITimestamp|null);
+
+ /** ProductReviewAttributes title */
+ title?: (string|null);
+
+ /** ProductReviewAttributes content */
+ content?: (string|null);
+
+ /** ProductReviewAttributes pros */
+ pros?: (string[]|null);
+
+ /** ProductReviewAttributes cons */
+ cons?: (string[]|null);
+
+ /** ProductReviewAttributes reviewLink */
+ reviewLink?: (google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.IReviewLink|null);
+
+ /** ProductReviewAttributes reviewerImageLinks */
+ reviewerImageLinks?: (string[]|null);
+
+ /** ProductReviewAttributes minRating */
+ minRating?: (number|Long|string|null);
+
+ /** ProductReviewAttributes maxRating */
+ maxRating?: (number|Long|string|null);
+
+ /** ProductReviewAttributes rating */
+ rating?: (number|null);
+
+ /** ProductReviewAttributes productNames */
+ productNames?: (string[]|null);
+
+ /** ProductReviewAttributes productLinks */
+ productLinks?: (string[]|null);
+
+ /** ProductReviewAttributes asins */
+ asins?: (string[]|null);
+
+ /** ProductReviewAttributes gtins */
+ gtins?: (string[]|null);
+
+ /** ProductReviewAttributes mpns */
+ mpns?: (string[]|null);
+
+ /** ProductReviewAttributes skus */
+ skus?: (string[]|null);
+
+ /** ProductReviewAttributes brands */
+ brands?: (string[]|null);
+
+ /** ProductReviewAttributes isSpam */
+ isSpam?: (boolean|null);
+
+ /** ProductReviewAttributes collectionMethod */
+ collectionMethod?: (google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.CollectionMethod|keyof typeof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.CollectionMethod|null);
+
+ /** ProductReviewAttributes transactionId */
+ transactionId?: (string|null);
+ }
+
+ /** Represents a ProductReviewAttributes. */
+ class ProductReviewAttributes implements IProductReviewAttributes {
+
+ /**
+ * Constructs a new ProductReviewAttributes.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.IProductReviewAttributes);
+
+ /** ProductReviewAttributes aggregatorName. */
+ public aggregatorName?: (string|null);
+
+ /** ProductReviewAttributes subclientName. */
+ public subclientName?: (string|null);
+
+ /** ProductReviewAttributes publisherName. */
+ public publisherName?: (string|null);
+
+ /** ProductReviewAttributes publisherFavicon. */
+ public publisherFavicon?: (string|null);
+
+ /** ProductReviewAttributes reviewerId. */
+ public reviewerId?: (string|null);
+
+ /** ProductReviewAttributes reviewerIsAnonymous. */
+ public reviewerIsAnonymous?: (boolean|null);
+
+ /** ProductReviewAttributes reviewerUsername. */
+ public reviewerUsername?: (string|null);
+
+ /** ProductReviewAttributes reviewLanguage. */
+ public reviewLanguage?: (string|null);
+
+ /** ProductReviewAttributes reviewCountry. */
+ public reviewCountry?: (string|null);
+
+ /** ProductReviewAttributes reviewTime. */
+ public reviewTime?: (google.protobuf.ITimestamp|null);
+
+ /** ProductReviewAttributes title. */
+ public title?: (string|null);
+
+ /** ProductReviewAttributes content. */
+ public content?: (string|null);
+
+ /** ProductReviewAttributes pros. */
+ public pros: string[];
+
+ /** ProductReviewAttributes cons. */
+ public cons: string[];
+
+ /** ProductReviewAttributes reviewLink. */
+ public reviewLink?: (google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.IReviewLink|null);
+
+ /** ProductReviewAttributes reviewerImageLinks. */
+ public reviewerImageLinks: string[];
+
+ /** ProductReviewAttributes minRating. */
+ public minRating?: (number|Long|string|null);
+
+ /** ProductReviewAttributes maxRating. */
+ public maxRating?: (number|Long|string|null);
+
+ /** ProductReviewAttributes rating. */
+ public rating?: (number|null);
+
+ /** ProductReviewAttributes productNames. */
+ public productNames: string[];
+
+ /** ProductReviewAttributes productLinks. */
+ public productLinks: string[];
+
+ /** ProductReviewAttributes asins. */
+ public asins: string[];
+
+ /** ProductReviewAttributes gtins. */
+ public gtins: string[];
+
+ /** ProductReviewAttributes mpns. */
+ public mpns: string[];
+
+ /** ProductReviewAttributes skus. */
+ public skus: string[];
+
+ /** ProductReviewAttributes brands. */
+ public brands: string[];
+
+ /** ProductReviewAttributes isSpam. */
+ public isSpam?: (boolean|null);
+
+ /** ProductReviewAttributes collectionMethod. */
+ public collectionMethod: (google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.CollectionMethod|keyof typeof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.CollectionMethod);
+
+ /** ProductReviewAttributes transactionId. */
+ public transactionId: string;
+
+ /** ProductReviewAttributes _aggregatorName. */
+ public _aggregatorName?: "aggregatorName";
+
+ /** ProductReviewAttributes _subclientName. */
+ public _subclientName?: "subclientName";
+
+ /** ProductReviewAttributes _publisherName. */
+ public _publisherName?: "publisherName";
+
+ /** ProductReviewAttributes _publisherFavicon. */
+ public _publisherFavicon?: "publisherFavicon";
+
+ /** ProductReviewAttributes _reviewerId. */
+ public _reviewerId?: "reviewerId";
+
+ /** ProductReviewAttributes _reviewerIsAnonymous. */
+ public _reviewerIsAnonymous?: "reviewerIsAnonymous";
+
+ /** ProductReviewAttributes _reviewerUsername. */
+ public _reviewerUsername?: "reviewerUsername";
+
+ /** ProductReviewAttributes _reviewLanguage. */
+ public _reviewLanguage?: "reviewLanguage";
+
+ /** ProductReviewAttributes _reviewCountry. */
+ public _reviewCountry?: "reviewCountry";
+
+ /** ProductReviewAttributes _title. */
+ public _title?: "title";
+
+ /** ProductReviewAttributes _content. */
+ public _content?: "content";
+
+ /** ProductReviewAttributes _minRating. */
+ public _minRating?: "minRating";
+
+ /** ProductReviewAttributes _maxRating. */
+ public _maxRating?: "maxRating";
+
+ /** ProductReviewAttributes _rating. */
+ public _rating?: "rating";
+
+ /** ProductReviewAttributes _isSpam. */
+ public _isSpam?: "isSpam";
+
+ /**
+ * Creates a new ProductReviewAttributes instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProductReviewAttributes instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.IProductReviewAttributes): google.shopping.merchant.reviews.v1beta.ProductReviewAttributes;
+
+ /**
+ * Encodes the specified ProductReviewAttributes message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.verify|verify} messages.
+ * @param message ProductReviewAttributes message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.IProductReviewAttributes, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProductReviewAttributes message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.verify|verify} messages.
+ * @param message ProductReviewAttributes message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.IProductReviewAttributes, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProductReviewAttributes message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProductReviewAttributes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.ProductReviewAttributes;
+
+ /**
+ * Decodes a ProductReviewAttributes message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProductReviewAttributes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.ProductReviewAttributes;
+
+ /**
+ * Verifies a ProductReviewAttributes message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProductReviewAttributes message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProductReviewAttributes
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.ProductReviewAttributes;
+
+ /**
+ * Creates a plain object from a ProductReviewAttributes message. Also converts values to other types if specified.
+ * @param message ProductReviewAttributes
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.ProductReviewAttributes, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProductReviewAttributes to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProductReviewAttributes
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ProductReviewAttributes {
+
+ /** Properties of a ReviewLink. */
+ interface IReviewLink {
+
+ /** ReviewLink type */
+ type?: (google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink.Type|keyof typeof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink.Type|null);
+
+ /** ReviewLink link */
+ link?: (string|null);
+ }
+
+ /** Represents a ReviewLink. */
+ class ReviewLink implements IReviewLink {
+
+ /**
+ * Constructs a new ReviewLink.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.IReviewLink);
+
+ /** ReviewLink type. */
+ public type: (google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink.Type|keyof typeof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink.Type);
+
+ /** ReviewLink link. */
+ public link: string;
+
+ /**
+ * Creates a new ReviewLink instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReviewLink instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.IReviewLink): google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink;
+
+ /**
+ * Encodes the specified ReviewLink message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink.verify|verify} messages.
+ * @param message ReviewLink message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.IReviewLink, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReviewLink message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink.verify|verify} messages.
+ * @param message ReviewLink message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.IReviewLink, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReviewLink message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReviewLink
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink;
+
+ /**
+ * Decodes a ReviewLink message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReviewLink
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink;
+
+ /**
+ * Verifies a ReviewLink message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReviewLink message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReviewLink
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink;
+
+ /**
+ * Creates a plain object from a ReviewLink message. Also converts values to other types if specified.
+ * @param message ReviewLink
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReviewLink to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReviewLink
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ReviewLink {
+
+ /** Type enum. */
+ enum Type {
+ TYPE_UNSPECIFIED = 0,
+ SINGLETON = 1,
+ GROUP = 2
+ }
+ }
+
+ /** CollectionMethod enum. */
+ enum CollectionMethod {
+ COLLECTION_METHOD_UNSPECIFIED = 0,
+ UNSOLICITED = 1,
+ POST_FULFILLMENT = 2
+ }
+ }
+
+ /** Properties of a ProductReviewStatus. */
+ interface IProductReviewStatus {
+
+ /** ProductReviewStatus destinationStatuses */
+ destinationStatuses?: (google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewDestinationStatus[]|null);
+
+ /** ProductReviewStatus itemLevelIssues */
+ itemLevelIssues?: (google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewItemLevelIssue[]|null);
+
+ /** ProductReviewStatus createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ProductReviewStatus lastUpdateTime */
+ lastUpdateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a ProductReviewStatus. */
+ class ProductReviewStatus implements IProductReviewStatus {
+
+ /**
+ * Constructs a new ProductReviewStatus.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.IProductReviewStatus);
+
+ /** ProductReviewStatus destinationStatuses. */
+ public destinationStatuses: google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewDestinationStatus[];
+
+ /** ProductReviewStatus itemLevelIssues. */
+ public itemLevelIssues: google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewItemLevelIssue[];
+
+ /** ProductReviewStatus createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ProductReviewStatus lastUpdateTime. */
+ public lastUpdateTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new ProductReviewStatus instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProductReviewStatus instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.IProductReviewStatus): google.shopping.merchant.reviews.v1beta.ProductReviewStatus;
+
+ /**
+ * Encodes the specified ProductReviewStatus message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewStatus.verify|verify} messages.
+ * @param message ProductReviewStatus message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.IProductReviewStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProductReviewStatus message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewStatus.verify|verify} messages.
+ * @param message ProductReviewStatus message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.IProductReviewStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProductReviewStatus message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProductReviewStatus
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.ProductReviewStatus;
+
+ /**
+ * Decodes a ProductReviewStatus message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProductReviewStatus
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.ProductReviewStatus;
+
+ /**
+ * Verifies a ProductReviewStatus message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProductReviewStatus message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProductReviewStatus
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.ProductReviewStatus;
+
+ /**
+ * Creates a plain object from a ProductReviewStatus message. Also converts values to other types if specified.
+ * @param message ProductReviewStatus
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.ProductReviewStatus, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProductReviewStatus to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProductReviewStatus
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ProductReviewStatus {
+
+ /** Properties of a ProductReviewDestinationStatus. */
+ interface IProductReviewDestinationStatus {
+
+ /** ProductReviewDestinationStatus reportingContext */
+ reportingContext?: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum|null);
+ }
+
+ /** Represents a ProductReviewDestinationStatus. */
+ class ProductReviewDestinationStatus implements IProductReviewDestinationStatus {
+
+ /**
+ * Constructs a new ProductReviewDestinationStatus.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewDestinationStatus);
+
+ /** ProductReviewDestinationStatus reportingContext. */
+ public reportingContext: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum);
+
+ /**
+ * Creates a new ProductReviewDestinationStatus instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProductReviewDestinationStatus instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewDestinationStatus): google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus;
+
+ /**
+ * Encodes the specified ProductReviewDestinationStatus message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus.verify|verify} messages.
+ * @param message ProductReviewDestinationStatus message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewDestinationStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProductReviewDestinationStatus message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus.verify|verify} messages.
+ * @param message ProductReviewDestinationStatus message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewDestinationStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProductReviewDestinationStatus message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProductReviewDestinationStatus
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus;
+
+ /**
+ * Decodes a ProductReviewDestinationStatus message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProductReviewDestinationStatus
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus;
+
+ /**
+ * Verifies a ProductReviewDestinationStatus message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProductReviewDestinationStatus message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProductReviewDestinationStatus
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus;
+
+ /**
+ * Creates a plain object from a ProductReviewDestinationStatus message. Also converts values to other types if specified.
+ * @param message ProductReviewDestinationStatus
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProductReviewDestinationStatus to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProductReviewDestinationStatus
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ProductReviewItemLevelIssue. */
+ interface IProductReviewItemLevelIssue {
+
+ /** ProductReviewItemLevelIssue code */
+ code?: (string|null);
+
+ /** ProductReviewItemLevelIssue severity */
+ severity?: (google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue.Severity|keyof typeof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue.Severity|null);
+
+ /** ProductReviewItemLevelIssue resolution */
+ resolution?: (string|null);
+
+ /** ProductReviewItemLevelIssue attribute */
+ attribute?: (string|null);
+
+ /** ProductReviewItemLevelIssue reportingContext */
+ reportingContext?: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum|null);
+
+ /** ProductReviewItemLevelIssue description */
+ description?: (string|null);
+
+ /** ProductReviewItemLevelIssue detail */
+ detail?: (string|null);
+
+ /** ProductReviewItemLevelIssue documentation */
+ documentation?: (string|null);
+ }
+
+ /** Represents a ProductReviewItemLevelIssue. */
+ class ProductReviewItemLevelIssue implements IProductReviewItemLevelIssue {
+
+ /**
+ * Constructs a new ProductReviewItemLevelIssue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewItemLevelIssue);
+
+ /** ProductReviewItemLevelIssue code. */
+ public code: string;
+
+ /** ProductReviewItemLevelIssue severity. */
+ public severity: (google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue.Severity|keyof typeof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue.Severity);
+
+ /** ProductReviewItemLevelIssue resolution. */
+ public resolution: string;
+
+ /** ProductReviewItemLevelIssue attribute. */
+ public attribute: string;
+
+ /** ProductReviewItemLevelIssue reportingContext. */
+ public reportingContext: (google.shopping.type.ReportingContext.ReportingContextEnum|keyof typeof google.shopping.type.ReportingContext.ReportingContextEnum);
+
+ /** ProductReviewItemLevelIssue description. */
+ public description: string;
+
+ /** ProductReviewItemLevelIssue detail. */
+ public detail: string;
+
+ /** ProductReviewItemLevelIssue documentation. */
+ public documentation: string;
+
+ /**
+ * Creates a new ProductReviewItemLevelIssue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProductReviewItemLevelIssue instance
+ */
+ public static create(properties?: google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewItemLevelIssue): google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue;
+
+ /**
+ * Encodes the specified ProductReviewItemLevelIssue message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue.verify|verify} messages.
+ * @param message ProductReviewItemLevelIssue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewItemLevelIssue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProductReviewItemLevelIssue message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue.verify|verify} messages.
+ * @param message ProductReviewItemLevelIssue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewItemLevelIssue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProductReviewItemLevelIssue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProductReviewItemLevelIssue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue;
+
+ /**
+ * Decodes a ProductReviewItemLevelIssue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProductReviewItemLevelIssue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue;
+
+ /**
+ * Verifies a ProductReviewItemLevelIssue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProductReviewItemLevelIssue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProductReviewItemLevelIssue
+ */
+ public static fromObject(object: { [k: string]: any }): google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue;
+
+ /**
+ * Creates a plain object from a ProductReviewItemLevelIssue message. Also converts values to other types if specified.
+ * @param message ProductReviewItemLevelIssue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProductReviewItemLevelIssue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProductReviewItemLevelIssue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ProductReviewItemLevelIssue {
+
+ /** Severity enum. */
+ enum Severity {
+ SEVERITY_UNSPECIFIED = 0,
+ NOT_IMPACTED = 1,
+ DISAPPROVED = 2
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /** 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);
+ }
+
+ /** 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;
+
+ /**
+ * 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);
+ }
+
+ /** 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;
+ }
+ }
+}
diff --git a/packages/google-shopping-merchant-reviews/protos/protos.js b/packages/google-shopping-merchant-reviews/protos/protos.js
new file mode 100644
index 00000000000..a5ae2c114cb
--- /dev/null
+++ b/packages/google-shopping-merchant-reviews/protos/protos.js
@@ -0,0 +1,27852 @@
+// Copyright 2025 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_reviews_protos || ($protobuf.roots._google_shopping_reviews_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.shopping = (function() {
+
+ /**
+ * Namespace shopping.
+ * @memberof google
+ * @namespace
+ */
+ var shopping = {};
+
+ shopping.merchant = (function() {
+
+ /**
+ * Namespace merchant.
+ * @memberof google.shopping
+ * @namespace
+ */
+ var merchant = {};
+
+ merchant.reviews = (function() {
+
+ /**
+ * Namespace reviews.
+ * @memberof google.shopping.merchant
+ * @namespace
+ */
+ var reviews = {};
+
+ reviews.v1beta = (function() {
+
+ /**
+ * Namespace v1beta.
+ * @memberof google.shopping.merchant.reviews
+ * @namespace
+ */
+ var v1beta = {};
+
+ v1beta.MerchantReviewsService = (function() {
+
+ /**
+ * Constructs a new MerchantReviewsService service.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @classdesc Represents a MerchantReviewsService
+ * @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 MerchantReviewsService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (MerchantReviewsService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = MerchantReviewsService;
+
+ /**
+ * Creates new MerchantReviewsService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewsService
+ * @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 {MerchantReviewsService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ MerchantReviewsService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.shopping.merchant.reviews.v1beta.MerchantReviewsService|getMerchantReview}.
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewsService
+ * @typedef GetMerchantReviewCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReview} [response] MerchantReview
+ */
+
+ /**
+ * Calls GetMerchantReview.
+ * @function getMerchantReview
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewsService
+ * @instance
+ * @param {google.shopping.merchant.reviews.v1beta.IGetMerchantReviewRequest} request GetMerchantReviewRequest message or plain object
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReviewsService.GetMerchantReviewCallback} callback Node-style callback called with the error, if any, and MerchantReview
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(MerchantReviewsService.prototype.getMerchantReview = function getMerchantReview(request, callback) {
+ return this.rpcCall(getMerchantReview, $root.google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest, $root.google.shopping.merchant.reviews.v1beta.MerchantReview, request, callback);
+ }, "name", { value: "GetMerchantReview" });
+
+ /**
+ * Calls GetMerchantReview.
+ * @function getMerchantReview
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewsService
+ * @instance
+ * @param {google.shopping.merchant.reviews.v1beta.IGetMerchantReviewRequest} request GetMerchantReviewRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.shopping.merchant.reviews.v1beta.MerchantReviewsService|listMerchantReviews}.
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewsService
+ * @typedef ListMerchantReviewsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse} [response] ListMerchantReviewsResponse
+ */
+
+ /**
+ * Calls ListMerchantReviews.
+ * @function listMerchantReviews
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewsService
+ * @instance
+ * @param {google.shopping.merchant.reviews.v1beta.IListMerchantReviewsRequest} request ListMerchantReviewsRequest message or plain object
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReviewsService.ListMerchantReviewsCallback} callback Node-style callback called with the error, if any, and ListMerchantReviewsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(MerchantReviewsService.prototype.listMerchantReviews = function listMerchantReviews(request, callback) {
+ return this.rpcCall(listMerchantReviews, $root.google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest, $root.google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse, request, callback);
+ }, "name", { value: "ListMerchantReviews" });
+
+ /**
+ * Calls ListMerchantReviews.
+ * @function listMerchantReviews
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewsService
+ * @instance
+ * @param {google.shopping.merchant.reviews.v1beta.IListMerchantReviewsRequest} request ListMerchantReviewsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.shopping.merchant.reviews.v1beta.MerchantReviewsService|insertMerchantReview}.
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewsService
+ * @typedef InsertMerchantReviewCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReview} [response] MerchantReview
+ */
+
+ /**
+ * Calls InsertMerchantReview.
+ * @function insertMerchantReview
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewsService
+ * @instance
+ * @param {google.shopping.merchant.reviews.v1beta.IInsertMerchantReviewRequest} request InsertMerchantReviewRequest message or plain object
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReviewsService.InsertMerchantReviewCallback} callback Node-style callback called with the error, if any, and MerchantReview
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(MerchantReviewsService.prototype.insertMerchantReview = function insertMerchantReview(request, callback) {
+ return this.rpcCall(insertMerchantReview, $root.google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest, $root.google.shopping.merchant.reviews.v1beta.MerchantReview, request, callback);
+ }, "name", { value: "InsertMerchantReview" });
+
+ /**
+ * Calls InsertMerchantReview.
+ * @function insertMerchantReview
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewsService
+ * @instance
+ * @param {google.shopping.merchant.reviews.v1beta.IInsertMerchantReviewRequest} request InsertMerchantReviewRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.shopping.merchant.reviews.v1beta.MerchantReviewsService|deleteMerchantReview}.
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewsService
+ * @typedef DeleteMerchantReviewCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteMerchantReview.
+ * @function deleteMerchantReview
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewsService
+ * @instance
+ * @param {google.shopping.merchant.reviews.v1beta.IDeleteMerchantReviewRequest} request DeleteMerchantReviewRequest message or plain object
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReviewsService.DeleteMerchantReviewCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(MerchantReviewsService.prototype.deleteMerchantReview = function deleteMerchantReview(request, callback) {
+ return this.rpcCall(deleteMerchantReview, $root.google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteMerchantReview" });
+
+ /**
+ * Calls DeleteMerchantReview.
+ * @function deleteMerchantReview
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewsService
+ * @instance
+ * @param {google.shopping.merchant.reviews.v1beta.IDeleteMerchantReviewRequest} request DeleteMerchantReviewRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return MerchantReviewsService;
+ })();
+
+ v1beta.GetMerchantReviewRequest = (function() {
+
+ /**
+ * Properties of a GetMerchantReviewRequest.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @interface IGetMerchantReviewRequest
+ * @property {string|null} [name] GetMerchantReviewRequest name
+ */
+
+ /**
+ * Constructs a new GetMerchantReviewRequest.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @classdesc Represents a GetMerchantReviewRequest.
+ * @implements IGetMerchantReviewRequest
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.IGetMerchantReviewRequest=} [properties] Properties to set
+ */
+ function GetMerchantReviewRequest(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]];
+ }
+
+ /**
+ * GetMerchantReviewRequest name.
+ * @member {string} name
+ * @memberof google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest
+ * @instance
+ */
+ GetMerchantReviewRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetMerchantReviewRequest instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IGetMerchantReviewRequest=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest} GetMerchantReviewRequest instance
+ */
+ GetMerchantReviewRequest.create = function create(properties) {
+ return new GetMerchantReviewRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetMerchantReviewRequest message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IGetMerchantReviewRequest} message GetMerchantReviewRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetMerchantReviewRequest.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 GetMerchantReviewRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IGetMerchantReviewRequest} message GetMerchantReviewRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetMerchantReviewRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetMerchantReviewRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest} GetMerchantReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetMerchantReviewRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest();
+ 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 GetMerchantReviewRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest} GetMerchantReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetMerchantReviewRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetMerchantReviewRequest message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetMerchantReviewRequest.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 GetMerchantReviewRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest} GetMerchantReviewRequest
+ */
+ GetMerchantReviewRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetMerchantReviewRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest} message GetMerchantReviewRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetMerchantReviewRequest.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 GetMerchantReviewRequest to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetMerchantReviewRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetMerchantReviewRequest
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetMerchantReviewRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.GetMerchantReviewRequest";
+ };
+
+ return GetMerchantReviewRequest;
+ })();
+
+ v1beta.DeleteMerchantReviewRequest = (function() {
+
+ /**
+ * Properties of a DeleteMerchantReviewRequest.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @interface IDeleteMerchantReviewRequest
+ * @property {string|null} [name] DeleteMerchantReviewRequest name
+ */
+
+ /**
+ * Constructs a new DeleteMerchantReviewRequest.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @classdesc Represents a DeleteMerchantReviewRequest.
+ * @implements IDeleteMerchantReviewRequest
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.IDeleteMerchantReviewRequest=} [properties] Properties to set
+ */
+ function DeleteMerchantReviewRequest(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]];
+ }
+
+ /**
+ * DeleteMerchantReviewRequest name.
+ * @member {string} name
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest
+ * @instance
+ */
+ DeleteMerchantReviewRequest.prototype.name = "";
+
+ /**
+ * Creates a new DeleteMerchantReviewRequest instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IDeleteMerchantReviewRequest=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest} DeleteMerchantReviewRequest instance
+ */
+ DeleteMerchantReviewRequest.create = function create(properties) {
+ return new DeleteMerchantReviewRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteMerchantReviewRequest message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IDeleteMerchantReviewRequest} message DeleteMerchantReviewRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteMerchantReviewRequest.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 DeleteMerchantReviewRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IDeleteMerchantReviewRequest} message DeleteMerchantReviewRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteMerchantReviewRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteMerchantReviewRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest} DeleteMerchantReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteMerchantReviewRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest();
+ 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 DeleteMerchantReviewRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest} DeleteMerchantReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteMerchantReviewRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteMerchantReviewRequest message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteMerchantReviewRequest.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 DeleteMerchantReviewRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest} DeleteMerchantReviewRequest
+ */
+ DeleteMerchantReviewRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteMerchantReviewRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest} message DeleteMerchantReviewRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteMerchantReviewRequest.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 DeleteMerchantReviewRequest to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteMerchantReviewRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteMerchantReviewRequest
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteMerchantReviewRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.DeleteMerchantReviewRequest";
+ };
+
+ return DeleteMerchantReviewRequest;
+ })();
+
+ v1beta.ListMerchantReviewsRequest = (function() {
+
+ /**
+ * Properties of a ListMerchantReviewsRequest.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @interface IListMerchantReviewsRequest
+ * @property {string|null} [parent] ListMerchantReviewsRequest parent
+ * @property {number|null} [pageSize] ListMerchantReviewsRequest pageSize
+ * @property {string|null} [pageToken] ListMerchantReviewsRequest pageToken
+ */
+
+ /**
+ * Constructs a new ListMerchantReviewsRequest.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @classdesc Represents a ListMerchantReviewsRequest.
+ * @implements IListMerchantReviewsRequest
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.IListMerchantReviewsRequest=} [properties] Properties to set
+ */
+ function ListMerchantReviewsRequest(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]];
+ }
+
+ /**
+ * ListMerchantReviewsRequest parent.
+ * @member {string} parent
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest
+ * @instance
+ */
+ ListMerchantReviewsRequest.prototype.parent = "";
+
+ /**
+ * ListMerchantReviewsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest
+ * @instance
+ */
+ ListMerchantReviewsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListMerchantReviewsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest
+ * @instance
+ */
+ ListMerchantReviewsRequest.prototype.pageToken = "";
+
+ /**
+ * Creates a new ListMerchantReviewsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IListMerchantReviewsRequest=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest} ListMerchantReviewsRequest instance
+ */
+ ListMerchantReviewsRequest.create = function create(properties) {
+ return new ListMerchantReviewsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListMerchantReviewsRequest message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IListMerchantReviewsRequest} message ListMerchantReviewsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListMerchantReviewsRequest.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 ListMerchantReviewsRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IListMerchantReviewsRequest} message ListMerchantReviewsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListMerchantReviewsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListMerchantReviewsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest} ListMerchantReviewsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListMerchantReviewsRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest();
+ 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 ListMerchantReviewsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest} ListMerchantReviewsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListMerchantReviewsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListMerchantReviewsRequest message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListMerchantReviewsRequest.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 ListMerchantReviewsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest} ListMerchantReviewsRequest
+ */
+ ListMerchantReviewsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest();
+ 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 ListMerchantReviewsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest} message ListMerchantReviewsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListMerchantReviewsRequest.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 ListMerchantReviewsRequest to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListMerchantReviewsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListMerchantReviewsRequest
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListMerchantReviewsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.ListMerchantReviewsRequest";
+ };
+
+ return ListMerchantReviewsRequest;
+ })();
+
+ v1beta.InsertMerchantReviewRequest = (function() {
+
+ /**
+ * Properties of an InsertMerchantReviewRequest.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @interface IInsertMerchantReviewRequest
+ * @property {string|null} [parent] InsertMerchantReviewRequest parent
+ * @property {google.shopping.merchant.reviews.v1beta.IMerchantReview|null} [merchantReview] InsertMerchantReviewRequest merchantReview
+ * @property {string|null} [dataSource] InsertMerchantReviewRequest dataSource
+ */
+
+ /**
+ * Constructs a new InsertMerchantReviewRequest.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @classdesc Represents an InsertMerchantReviewRequest.
+ * @implements IInsertMerchantReviewRequest
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.IInsertMerchantReviewRequest=} [properties] Properties to set
+ */
+ function InsertMerchantReviewRequest(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]];
+ }
+
+ /**
+ * InsertMerchantReviewRequest parent.
+ * @member {string} parent
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest
+ * @instance
+ */
+ InsertMerchantReviewRequest.prototype.parent = "";
+
+ /**
+ * InsertMerchantReviewRequest merchantReview.
+ * @member {google.shopping.merchant.reviews.v1beta.IMerchantReview|null|undefined} merchantReview
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest
+ * @instance
+ */
+ InsertMerchantReviewRequest.prototype.merchantReview = null;
+
+ /**
+ * InsertMerchantReviewRequest dataSource.
+ * @member {string} dataSource
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest
+ * @instance
+ */
+ InsertMerchantReviewRequest.prototype.dataSource = "";
+
+ /**
+ * Creates a new InsertMerchantReviewRequest instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IInsertMerchantReviewRequest=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest} InsertMerchantReviewRequest instance
+ */
+ InsertMerchantReviewRequest.create = function create(properties) {
+ return new InsertMerchantReviewRequest(properties);
+ };
+
+ /**
+ * Encodes the specified InsertMerchantReviewRequest message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IInsertMerchantReviewRequest} message InsertMerchantReviewRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InsertMerchantReviewRequest.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.merchantReview != null && Object.hasOwnProperty.call(message, "merchantReview"))
+ $root.google.shopping.merchant.reviews.v1beta.MerchantReview.encode(message.merchantReview, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.dataSource != null && Object.hasOwnProperty.call(message, "dataSource"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.dataSource);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified InsertMerchantReviewRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IInsertMerchantReviewRequest} message InsertMerchantReviewRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InsertMerchantReviewRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an InsertMerchantReviewRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest} InsertMerchantReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InsertMerchantReviewRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.merchantReview = $root.google.shopping.merchant.reviews.v1beta.MerchantReview.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.dataSource = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an InsertMerchantReviewRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest} InsertMerchantReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InsertMerchantReviewRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an InsertMerchantReviewRequest message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ InsertMerchantReviewRequest.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.merchantReview != null && message.hasOwnProperty("merchantReview")) {
+ var error = $root.google.shopping.merchant.reviews.v1beta.MerchantReview.verify(message.merchantReview);
+ if (error)
+ return "merchantReview." + error;
+ }
+ if (message.dataSource != null && message.hasOwnProperty("dataSource"))
+ if (!$util.isString(message.dataSource))
+ return "dataSource: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an InsertMerchantReviewRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest} InsertMerchantReviewRequest
+ */
+ InsertMerchantReviewRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.merchantReview != null) {
+ if (typeof object.merchantReview !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest.merchantReview: object expected");
+ message.merchantReview = $root.google.shopping.merchant.reviews.v1beta.MerchantReview.fromObject(object.merchantReview);
+ }
+ if (object.dataSource != null)
+ message.dataSource = String(object.dataSource);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an InsertMerchantReviewRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest} message InsertMerchantReviewRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ InsertMerchantReviewRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.merchantReview = null;
+ object.dataSource = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.merchantReview != null && message.hasOwnProperty("merchantReview"))
+ object.merchantReview = $root.google.shopping.merchant.reviews.v1beta.MerchantReview.toObject(message.merchantReview, options);
+ if (message.dataSource != null && message.hasOwnProperty("dataSource"))
+ object.dataSource = message.dataSource;
+ return object;
+ };
+
+ /**
+ * Converts this InsertMerchantReviewRequest to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ InsertMerchantReviewRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for InsertMerchantReviewRequest
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ InsertMerchantReviewRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.InsertMerchantReviewRequest";
+ };
+
+ return InsertMerchantReviewRequest;
+ })();
+
+ v1beta.ListMerchantReviewsResponse = (function() {
+
+ /**
+ * Properties of a ListMerchantReviewsResponse.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @interface IListMerchantReviewsResponse
+ * @property {Array.|null} [merchantReviews] ListMerchantReviewsResponse merchantReviews
+ * @property {string|null} [nextPageToken] ListMerchantReviewsResponse nextPageToken
+ */
+
+ /**
+ * Constructs a new ListMerchantReviewsResponse.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @classdesc Represents a ListMerchantReviewsResponse.
+ * @implements IListMerchantReviewsResponse
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.IListMerchantReviewsResponse=} [properties] Properties to set
+ */
+ function ListMerchantReviewsResponse(properties) {
+ this.merchantReviews = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListMerchantReviewsResponse merchantReviews.
+ * @member {Array.} merchantReviews
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse
+ * @instance
+ */
+ ListMerchantReviewsResponse.prototype.merchantReviews = $util.emptyArray;
+
+ /**
+ * ListMerchantReviewsResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse
+ * @instance
+ */
+ ListMerchantReviewsResponse.prototype.nextPageToken = "";
+
+ /**
+ * Creates a new ListMerchantReviewsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IListMerchantReviewsResponse=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse} ListMerchantReviewsResponse instance
+ */
+ ListMerchantReviewsResponse.create = function create(properties) {
+ return new ListMerchantReviewsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListMerchantReviewsResponse message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IListMerchantReviewsResponse} message ListMerchantReviewsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListMerchantReviewsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.merchantReviews != null && message.merchantReviews.length)
+ for (var i = 0; i < message.merchantReviews.length; ++i)
+ $root.google.shopping.merchant.reviews.v1beta.MerchantReview.encode(message.merchantReviews[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 ListMerchantReviewsResponse message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IListMerchantReviewsResponse} message ListMerchantReviewsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListMerchantReviewsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListMerchantReviewsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse} ListMerchantReviewsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListMerchantReviewsResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.merchantReviews && message.merchantReviews.length))
+ message.merchantReviews = [];
+ message.merchantReviews.push($root.google.shopping.merchant.reviews.v1beta.MerchantReview.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListMerchantReviewsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse} ListMerchantReviewsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListMerchantReviewsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListMerchantReviewsResponse message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListMerchantReviewsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.merchantReviews != null && message.hasOwnProperty("merchantReviews")) {
+ if (!Array.isArray(message.merchantReviews))
+ return "merchantReviews: array expected";
+ for (var i = 0; i < message.merchantReviews.length; ++i) {
+ var error = $root.google.shopping.merchant.reviews.v1beta.MerchantReview.verify(message.merchantReviews[i]);
+ if (error)
+ return "merchantReviews." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListMerchantReviewsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse} ListMerchantReviewsResponse
+ */
+ ListMerchantReviewsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse();
+ if (object.merchantReviews) {
+ if (!Array.isArray(object.merchantReviews))
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse.merchantReviews: array expected");
+ message.merchantReviews = [];
+ for (var i = 0; i < object.merchantReviews.length; ++i) {
+ if (typeof object.merchantReviews[i] !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse.merchantReviews: object expected");
+ message.merchantReviews[i] = $root.google.shopping.merchant.reviews.v1beta.MerchantReview.fromObject(object.merchantReviews[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListMerchantReviewsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse} message ListMerchantReviewsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListMerchantReviewsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.merchantReviews = [];
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.merchantReviews && message.merchantReviews.length) {
+ object.merchantReviews = [];
+ for (var j = 0; j < message.merchantReviews.length; ++j)
+ object.merchantReviews[j] = $root.google.shopping.merchant.reviews.v1beta.MerchantReview.toObject(message.merchantReviews[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListMerchantReviewsResponse to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListMerchantReviewsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListMerchantReviewsResponse
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListMerchantReviewsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.ListMerchantReviewsResponse";
+ };
+
+ return ListMerchantReviewsResponse;
+ })();
+
+ v1beta.MerchantReview = (function() {
+
+ /**
+ * Properties of a MerchantReview.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @interface IMerchantReview
+ * @property {string|null} [name] MerchantReview name
+ * @property {string|null} [merchantReviewId] MerchantReview merchantReviewId
+ * @property {google.shopping.merchant.reviews.v1beta.IMerchantReviewAttributes|null} [attributes] MerchantReview attributes
+ * @property {Array.|null} [customAttributes] MerchantReview customAttributes
+ * @property {string|null} [dataSource] MerchantReview dataSource
+ * @property {google.shopping.merchant.reviews.v1beta.IMerchantReviewStatus|null} [merchantReviewStatus] MerchantReview merchantReviewStatus
+ */
+
+ /**
+ * Constructs a new MerchantReview.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @classdesc Represents a MerchantReview.
+ * @implements IMerchantReview
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.IMerchantReview=} [properties] Properties to set
+ */
+ function MerchantReview(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]];
+ }
+
+ /**
+ * MerchantReview name.
+ * @member {string} name
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReview
+ * @instance
+ */
+ MerchantReview.prototype.name = "";
+
+ /**
+ * MerchantReview merchantReviewId.
+ * @member {string} merchantReviewId
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReview
+ * @instance
+ */
+ MerchantReview.prototype.merchantReviewId = "";
+
+ /**
+ * MerchantReview attributes.
+ * @member {google.shopping.merchant.reviews.v1beta.IMerchantReviewAttributes|null|undefined} attributes
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReview
+ * @instance
+ */
+ MerchantReview.prototype.attributes = null;
+
+ /**
+ * MerchantReview customAttributes.
+ * @member {Array.} customAttributes
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReview
+ * @instance
+ */
+ MerchantReview.prototype.customAttributes = $util.emptyArray;
+
+ /**
+ * MerchantReview dataSource.
+ * @member {string} dataSource
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReview
+ * @instance
+ */
+ MerchantReview.prototype.dataSource = "";
+
+ /**
+ * MerchantReview merchantReviewStatus.
+ * @member {google.shopping.merchant.reviews.v1beta.IMerchantReviewStatus|null|undefined} merchantReviewStatus
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReview
+ * @instance
+ */
+ MerchantReview.prototype.merchantReviewStatus = null;
+
+ /**
+ * Creates a new MerchantReview instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReview
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IMerchantReview=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReview} MerchantReview instance
+ */
+ MerchantReview.create = function create(properties) {
+ return new MerchantReview(properties);
+ };
+
+ /**
+ * Encodes the specified MerchantReview message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReview.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReview
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IMerchantReview} message MerchantReview message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MerchantReview.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.merchantReviewId != null && Object.hasOwnProperty.call(message, "merchantReviewId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.merchantReviewId);
+ if (message.attributes != null && Object.hasOwnProperty.call(message, "attributes"))
+ $root.google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.encode(message.attributes, writer.uint32(/* id 3, wireType 2 =*/26).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 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.dataSource != null && Object.hasOwnProperty.call(message, "dataSource"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.dataSource);
+ if (message.merchantReviewStatus != null && Object.hasOwnProperty.call(message, "merchantReviewStatus"))
+ $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.encode(message.merchantReviewStatus, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MerchantReview message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReview.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReview
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IMerchantReview} message MerchantReview message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MerchantReview.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MerchantReview message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReview
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReview} MerchantReview
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MerchantReview.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.MerchantReview();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.merchantReviewId = reader.string();
+ break;
+ }
+ case 3: {
+ message.attributes = $root.google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ if (!(message.customAttributes && message.customAttributes.length))
+ message.customAttributes = [];
+ message.customAttributes.push($root.google.shopping.type.CustomAttribute.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ message.dataSource = reader.string();
+ break;
+ }
+ case 6: {
+ message.merchantReviewStatus = $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MerchantReview message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReview
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReview} MerchantReview
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MerchantReview.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MerchantReview message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReview
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MerchantReview.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.merchantReviewId != null && message.hasOwnProperty("merchantReviewId"))
+ if (!$util.isString(message.merchantReviewId))
+ return "merchantReviewId: string expected";
+ if (message.attributes != null && message.hasOwnProperty("attributes")) {
+ var error = $root.google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.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.dataSource != null && message.hasOwnProperty("dataSource"))
+ if (!$util.isString(message.dataSource))
+ return "dataSource: string expected";
+ if (message.merchantReviewStatus != null && message.hasOwnProperty("merchantReviewStatus")) {
+ var error = $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.verify(message.merchantReviewStatus);
+ if (error)
+ return "merchantReviewStatus." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MerchantReview message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReview
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReview} MerchantReview
+ */
+ MerchantReview.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.MerchantReview)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.MerchantReview();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.merchantReviewId != null)
+ message.merchantReviewId = String(object.merchantReviewId);
+ if (object.attributes != null) {
+ if (typeof object.attributes !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.MerchantReview.attributes: object expected");
+ message.attributes = $root.google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.fromObject(object.attributes);
+ }
+ if (object.customAttributes) {
+ if (!Array.isArray(object.customAttributes))
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.MerchantReview.customAttributes: array expected");
+ message.customAttributes = [];
+ for (var i = 0; i < object.customAttributes.length; ++i) {
+ if (typeof object.customAttributes[i] !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.MerchantReview.customAttributes: object expected");
+ message.customAttributes[i] = $root.google.shopping.type.CustomAttribute.fromObject(object.customAttributes[i]);
+ }
+ }
+ if (object.dataSource != null)
+ message.dataSource = String(object.dataSource);
+ if (object.merchantReviewStatus != null) {
+ if (typeof object.merchantReviewStatus !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.MerchantReview.merchantReviewStatus: object expected");
+ message.merchantReviewStatus = $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.fromObject(object.merchantReviewStatus);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MerchantReview message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReview
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReview} message MerchantReview
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MerchantReview.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.customAttributes = [];
+ if (options.defaults) {
+ object.name = "";
+ object.merchantReviewId = "";
+ object.attributes = null;
+ object.dataSource = "";
+ object.merchantReviewStatus = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.merchantReviewId != null && message.hasOwnProperty("merchantReviewId"))
+ object.merchantReviewId = message.merchantReviewId;
+ if (message.attributes != null && message.hasOwnProperty("attributes"))
+ object.attributes = $root.google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.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.dataSource != null && message.hasOwnProperty("dataSource"))
+ object.dataSource = message.dataSource;
+ if (message.merchantReviewStatus != null && message.hasOwnProperty("merchantReviewStatus"))
+ object.merchantReviewStatus = $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.toObject(message.merchantReviewStatus, options);
+ return object;
+ };
+
+ /**
+ * Converts this MerchantReview to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReview
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MerchantReview.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MerchantReview
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReview
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MerchantReview.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.MerchantReview";
+ };
+
+ return MerchantReview;
+ })();
+
+ v1beta.MerchantReviewAttributes = (function() {
+
+ /**
+ * Properties of a MerchantReviewAttributes.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @interface IMerchantReviewAttributes
+ * @property {string|null} [merchantId] MerchantReviewAttributes merchantId
+ * @property {string|null} [merchantDisplayName] MerchantReviewAttributes merchantDisplayName
+ * @property {string|null} [merchantLink] MerchantReviewAttributes merchantLink
+ * @property {string|null} [merchantRatingLink] MerchantReviewAttributes merchantRatingLink
+ * @property {number|Long|null} [minRating] MerchantReviewAttributes minRating
+ * @property {number|Long|null} [maxRating] MerchantReviewAttributes maxRating
+ * @property {number|null} [rating] MerchantReviewAttributes rating
+ * @property {string|null} [title] MerchantReviewAttributes title
+ * @property {string|null} [content] MerchantReviewAttributes content
+ * @property {string|null} [reviewerId] MerchantReviewAttributes reviewerId
+ * @property {string|null} [reviewerUsername] MerchantReviewAttributes reviewerUsername
+ * @property {boolean|null} [isAnonymous] MerchantReviewAttributes isAnonymous
+ * @property {google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.CollectionMethod|null} [collectionMethod] MerchantReviewAttributes collectionMethod
+ * @property {google.protobuf.ITimestamp|null} [reviewTime] MerchantReviewAttributes reviewTime
+ * @property {string|null} [reviewLanguage] MerchantReviewAttributes reviewLanguage
+ * @property {string|null} [reviewCountry] MerchantReviewAttributes reviewCountry
+ */
+
+ /**
+ * Constructs a new MerchantReviewAttributes.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @classdesc Represents a MerchantReviewAttributes.
+ * @implements IMerchantReviewAttributes
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.IMerchantReviewAttributes=} [properties] Properties to set
+ */
+ function MerchantReviewAttributes(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]];
+ }
+
+ /**
+ * MerchantReviewAttributes merchantId.
+ * @member {string|null|undefined} merchantId
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ MerchantReviewAttributes.prototype.merchantId = null;
+
+ /**
+ * MerchantReviewAttributes merchantDisplayName.
+ * @member {string|null|undefined} merchantDisplayName
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ MerchantReviewAttributes.prototype.merchantDisplayName = null;
+
+ /**
+ * MerchantReviewAttributes merchantLink.
+ * @member {string|null|undefined} merchantLink
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ MerchantReviewAttributes.prototype.merchantLink = null;
+
+ /**
+ * MerchantReviewAttributes merchantRatingLink.
+ * @member {string|null|undefined} merchantRatingLink
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ MerchantReviewAttributes.prototype.merchantRatingLink = null;
+
+ /**
+ * MerchantReviewAttributes minRating.
+ * @member {number|Long|null|undefined} minRating
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ MerchantReviewAttributes.prototype.minRating = null;
+
+ /**
+ * MerchantReviewAttributes maxRating.
+ * @member {number|Long|null|undefined} maxRating
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ MerchantReviewAttributes.prototype.maxRating = null;
+
+ /**
+ * MerchantReviewAttributes rating.
+ * @member {number|null|undefined} rating
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ MerchantReviewAttributes.prototype.rating = null;
+
+ /**
+ * MerchantReviewAttributes title.
+ * @member {string|null|undefined} title
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ MerchantReviewAttributes.prototype.title = null;
+
+ /**
+ * MerchantReviewAttributes content.
+ * @member {string|null|undefined} content
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ MerchantReviewAttributes.prototype.content = null;
+
+ /**
+ * MerchantReviewAttributes reviewerId.
+ * @member {string|null|undefined} reviewerId
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ MerchantReviewAttributes.prototype.reviewerId = null;
+
+ /**
+ * MerchantReviewAttributes reviewerUsername.
+ * @member {string|null|undefined} reviewerUsername
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ MerchantReviewAttributes.prototype.reviewerUsername = null;
+
+ /**
+ * MerchantReviewAttributes isAnonymous.
+ * @member {boolean|null|undefined} isAnonymous
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ MerchantReviewAttributes.prototype.isAnonymous = null;
+
+ /**
+ * MerchantReviewAttributes collectionMethod.
+ * @member {google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.CollectionMethod|null|undefined} collectionMethod
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ MerchantReviewAttributes.prototype.collectionMethod = null;
+
+ /**
+ * MerchantReviewAttributes reviewTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} reviewTime
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ MerchantReviewAttributes.prototype.reviewTime = null;
+
+ /**
+ * MerchantReviewAttributes reviewLanguage.
+ * @member {string|null|undefined} reviewLanguage
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ MerchantReviewAttributes.prototype.reviewLanguage = null;
+
+ /**
+ * MerchantReviewAttributes reviewCountry.
+ * @member {string|null|undefined} reviewCountry
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ MerchantReviewAttributes.prototype.reviewCountry = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * MerchantReviewAttributes _merchantId.
+ * @member {"merchantId"|undefined} _merchantId
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(MerchantReviewAttributes.prototype, "_merchantId", {
+ get: $util.oneOfGetter($oneOfFields = ["merchantId"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * MerchantReviewAttributes _merchantDisplayName.
+ * @member {"merchantDisplayName"|undefined} _merchantDisplayName
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(MerchantReviewAttributes.prototype, "_merchantDisplayName", {
+ get: $util.oneOfGetter($oneOfFields = ["merchantDisplayName"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * MerchantReviewAttributes _merchantLink.
+ * @member {"merchantLink"|undefined} _merchantLink
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(MerchantReviewAttributes.prototype, "_merchantLink", {
+ get: $util.oneOfGetter($oneOfFields = ["merchantLink"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * MerchantReviewAttributes _merchantRatingLink.
+ * @member {"merchantRatingLink"|undefined} _merchantRatingLink
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(MerchantReviewAttributes.prototype, "_merchantRatingLink", {
+ get: $util.oneOfGetter($oneOfFields = ["merchantRatingLink"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * MerchantReviewAttributes _minRating.
+ * @member {"minRating"|undefined} _minRating
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(MerchantReviewAttributes.prototype, "_minRating", {
+ get: $util.oneOfGetter($oneOfFields = ["minRating"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * MerchantReviewAttributes _maxRating.
+ * @member {"maxRating"|undefined} _maxRating
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(MerchantReviewAttributes.prototype, "_maxRating", {
+ get: $util.oneOfGetter($oneOfFields = ["maxRating"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * MerchantReviewAttributes _rating.
+ * @member {"rating"|undefined} _rating
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(MerchantReviewAttributes.prototype, "_rating", {
+ get: $util.oneOfGetter($oneOfFields = ["rating"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * MerchantReviewAttributes _title.
+ * @member {"title"|undefined} _title
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(MerchantReviewAttributes.prototype, "_title", {
+ get: $util.oneOfGetter($oneOfFields = ["title"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * MerchantReviewAttributes _content.
+ * @member {"content"|undefined} _content
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(MerchantReviewAttributes.prototype, "_content", {
+ get: $util.oneOfGetter($oneOfFields = ["content"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * MerchantReviewAttributes _reviewerId.
+ * @member {"reviewerId"|undefined} _reviewerId
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(MerchantReviewAttributes.prototype, "_reviewerId", {
+ get: $util.oneOfGetter($oneOfFields = ["reviewerId"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * MerchantReviewAttributes _reviewerUsername.
+ * @member {"reviewerUsername"|undefined} _reviewerUsername
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(MerchantReviewAttributes.prototype, "_reviewerUsername", {
+ get: $util.oneOfGetter($oneOfFields = ["reviewerUsername"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * MerchantReviewAttributes _isAnonymous.
+ * @member {"isAnonymous"|undefined} _isAnonymous
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(MerchantReviewAttributes.prototype, "_isAnonymous", {
+ get: $util.oneOfGetter($oneOfFields = ["isAnonymous"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * MerchantReviewAttributes _collectionMethod.
+ * @member {"collectionMethod"|undefined} _collectionMethod
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(MerchantReviewAttributes.prototype, "_collectionMethod", {
+ get: $util.oneOfGetter($oneOfFields = ["collectionMethod"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * MerchantReviewAttributes _reviewTime.
+ * @member {"reviewTime"|undefined} _reviewTime
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(MerchantReviewAttributes.prototype, "_reviewTime", {
+ get: $util.oneOfGetter($oneOfFields = ["reviewTime"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * MerchantReviewAttributes _reviewLanguage.
+ * @member {"reviewLanguage"|undefined} _reviewLanguage
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(MerchantReviewAttributes.prototype, "_reviewLanguage", {
+ get: $util.oneOfGetter($oneOfFields = ["reviewLanguage"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * MerchantReviewAttributes _reviewCountry.
+ * @member {"reviewCountry"|undefined} _reviewCountry
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(MerchantReviewAttributes.prototype, "_reviewCountry", {
+ get: $util.oneOfGetter($oneOfFields = ["reviewCountry"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new MerchantReviewAttributes instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IMerchantReviewAttributes=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes} MerchantReviewAttributes instance
+ */
+ MerchantReviewAttributes.create = function create(properties) {
+ return new MerchantReviewAttributes(properties);
+ };
+
+ /**
+ * Encodes the specified MerchantReviewAttributes message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IMerchantReviewAttributes} message MerchantReviewAttributes message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MerchantReviewAttributes.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.merchantId != null && Object.hasOwnProperty.call(message, "merchantId"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.merchantId);
+ if (message.merchantDisplayName != null && Object.hasOwnProperty.call(message, "merchantDisplayName"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.merchantDisplayName);
+ if (message.merchantLink != null && Object.hasOwnProperty.call(message, "merchantLink"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.merchantLink);
+ if (message.merchantRatingLink != null && Object.hasOwnProperty.call(message, "merchantRatingLink"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.merchantRatingLink);
+ if (message.minRating != null && Object.hasOwnProperty.call(message, "minRating"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int64(message.minRating);
+ if (message.maxRating != null && Object.hasOwnProperty.call(message, "maxRating"))
+ writer.uint32(/* id 6, wireType 0 =*/48).int64(message.maxRating);
+ if (message.rating != null && Object.hasOwnProperty.call(message, "rating"))
+ writer.uint32(/* id 7, wireType 1 =*/57).double(message.rating);
+ if (message.title != null && Object.hasOwnProperty.call(message, "title"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.title);
+ if (message.content != null && Object.hasOwnProperty.call(message, "content"))
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.content);
+ if (message.reviewerId != null && Object.hasOwnProperty.call(message, "reviewerId"))
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.reviewerId);
+ if (message.reviewerUsername != null && Object.hasOwnProperty.call(message, "reviewerUsername"))
+ writer.uint32(/* id 11, wireType 2 =*/90).string(message.reviewerUsername);
+ if (message.isAnonymous != null && Object.hasOwnProperty.call(message, "isAnonymous"))
+ writer.uint32(/* id 12, wireType 0 =*/96).bool(message.isAnonymous);
+ if (message.collectionMethod != null && Object.hasOwnProperty.call(message, "collectionMethod"))
+ writer.uint32(/* id 13, wireType 0 =*/104).int32(message.collectionMethod);
+ if (message.reviewTime != null && Object.hasOwnProperty.call(message, "reviewTime"))
+ $root.google.protobuf.Timestamp.encode(message.reviewTime, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim();
+ if (message.reviewLanguage != null && Object.hasOwnProperty.call(message, "reviewLanguage"))
+ writer.uint32(/* id 15, wireType 2 =*/122).string(message.reviewLanguage);
+ if (message.reviewCountry != null && Object.hasOwnProperty.call(message, "reviewCountry"))
+ writer.uint32(/* id 16, wireType 2 =*/130).string(message.reviewCountry);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MerchantReviewAttributes message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IMerchantReviewAttributes} message MerchantReviewAttributes message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MerchantReviewAttributes.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MerchantReviewAttributes message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes} MerchantReviewAttributes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MerchantReviewAttributes.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.merchantId = reader.string();
+ break;
+ }
+ case 2: {
+ message.merchantDisplayName = reader.string();
+ break;
+ }
+ case 3: {
+ message.merchantLink = reader.string();
+ break;
+ }
+ case 4: {
+ message.merchantRatingLink = reader.string();
+ break;
+ }
+ case 5: {
+ message.minRating = reader.int64();
+ break;
+ }
+ case 6: {
+ message.maxRating = reader.int64();
+ break;
+ }
+ case 7: {
+ message.rating = reader.double();
+ break;
+ }
+ case 8: {
+ message.title = reader.string();
+ break;
+ }
+ case 9: {
+ message.content = reader.string();
+ break;
+ }
+ case 10: {
+ message.reviewerId = reader.string();
+ break;
+ }
+ case 11: {
+ message.reviewerUsername = reader.string();
+ break;
+ }
+ case 12: {
+ message.isAnonymous = reader.bool();
+ break;
+ }
+ case 13: {
+ message.collectionMethod = reader.int32();
+ break;
+ }
+ case 14: {
+ message.reviewTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 15: {
+ message.reviewLanguage = reader.string();
+ break;
+ }
+ case 16: {
+ message.reviewCountry = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MerchantReviewAttributes message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes} MerchantReviewAttributes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MerchantReviewAttributes.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MerchantReviewAttributes message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MerchantReviewAttributes.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.merchantId != null && message.hasOwnProperty("merchantId")) {
+ properties._merchantId = 1;
+ if (!$util.isString(message.merchantId))
+ return "merchantId: string expected";
+ }
+ if (message.merchantDisplayName != null && message.hasOwnProperty("merchantDisplayName")) {
+ properties._merchantDisplayName = 1;
+ if (!$util.isString(message.merchantDisplayName))
+ return "merchantDisplayName: string expected";
+ }
+ if (message.merchantLink != null && message.hasOwnProperty("merchantLink")) {
+ properties._merchantLink = 1;
+ if (!$util.isString(message.merchantLink))
+ return "merchantLink: string expected";
+ }
+ if (message.merchantRatingLink != null && message.hasOwnProperty("merchantRatingLink")) {
+ properties._merchantRatingLink = 1;
+ if (!$util.isString(message.merchantRatingLink))
+ return "merchantRatingLink: string expected";
+ }
+ if (message.minRating != null && message.hasOwnProperty("minRating")) {
+ properties._minRating = 1;
+ if (!$util.isInteger(message.minRating) && !(message.minRating && $util.isInteger(message.minRating.low) && $util.isInteger(message.minRating.high)))
+ return "minRating: integer|Long expected";
+ }
+ if (message.maxRating != null && message.hasOwnProperty("maxRating")) {
+ properties._maxRating = 1;
+ if (!$util.isInteger(message.maxRating) && !(message.maxRating && $util.isInteger(message.maxRating.low) && $util.isInteger(message.maxRating.high)))
+ return "maxRating: integer|Long expected";
+ }
+ if (message.rating != null && message.hasOwnProperty("rating")) {
+ properties._rating = 1;
+ if (typeof message.rating !== "number")
+ return "rating: number expected";
+ }
+ if (message.title != null && message.hasOwnProperty("title")) {
+ properties._title = 1;
+ if (!$util.isString(message.title))
+ return "title: string expected";
+ }
+ if (message.content != null && message.hasOwnProperty("content")) {
+ properties._content = 1;
+ if (!$util.isString(message.content))
+ return "content: string expected";
+ }
+ if (message.reviewerId != null && message.hasOwnProperty("reviewerId")) {
+ properties._reviewerId = 1;
+ if (!$util.isString(message.reviewerId))
+ return "reviewerId: string expected";
+ }
+ if (message.reviewerUsername != null && message.hasOwnProperty("reviewerUsername")) {
+ properties._reviewerUsername = 1;
+ if (!$util.isString(message.reviewerUsername))
+ return "reviewerUsername: string expected";
+ }
+ if (message.isAnonymous != null && message.hasOwnProperty("isAnonymous")) {
+ properties._isAnonymous = 1;
+ if (typeof message.isAnonymous !== "boolean")
+ return "isAnonymous: boolean expected";
+ }
+ if (message.collectionMethod != null && message.hasOwnProperty("collectionMethod")) {
+ properties._collectionMethod = 1;
+ switch (message.collectionMethod) {
+ default:
+ return "collectionMethod: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ }
+ if (message.reviewTime != null && message.hasOwnProperty("reviewTime")) {
+ properties._reviewTime = 1;
+ {
+ var error = $root.google.protobuf.Timestamp.verify(message.reviewTime);
+ if (error)
+ return "reviewTime." + error;
+ }
+ }
+ if (message.reviewLanguage != null && message.hasOwnProperty("reviewLanguage")) {
+ properties._reviewLanguage = 1;
+ if (!$util.isString(message.reviewLanguage))
+ return "reviewLanguage: string expected";
+ }
+ if (message.reviewCountry != null && message.hasOwnProperty("reviewCountry")) {
+ properties._reviewCountry = 1;
+ if (!$util.isString(message.reviewCountry))
+ return "reviewCountry: string expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MerchantReviewAttributes message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes} MerchantReviewAttributes
+ */
+ MerchantReviewAttributes.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes();
+ if (object.merchantId != null)
+ message.merchantId = String(object.merchantId);
+ if (object.merchantDisplayName != null)
+ message.merchantDisplayName = String(object.merchantDisplayName);
+ if (object.merchantLink != null)
+ message.merchantLink = String(object.merchantLink);
+ if (object.merchantRatingLink != null)
+ message.merchantRatingLink = String(object.merchantRatingLink);
+ if (object.minRating != null)
+ if ($util.Long)
+ (message.minRating = $util.Long.fromValue(object.minRating)).unsigned = false;
+ else if (typeof object.minRating === "string")
+ message.minRating = parseInt(object.minRating, 10);
+ else if (typeof object.minRating === "number")
+ message.minRating = object.minRating;
+ else if (typeof object.minRating === "object")
+ message.minRating = new $util.LongBits(object.minRating.low >>> 0, object.minRating.high >>> 0).toNumber();
+ if (object.maxRating != null)
+ if ($util.Long)
+ (message.maxRating = $util.Long.fromValue(object.maxRating)).unsigned = false;
+ else if (typeof object.maxRating === "string")
+ message.maxRating = parseInt(object.maxRating, 10);
+ else if (typeof object.maxRating === "number")
+ message.maxRating = object.maxRating;
+ else if (typeof object.maxRating === "object")
+ message.maxRating = new $util.LongBits(object.maxRating.low >>> 0, object.maxRating.high >>> 0).toNumber();
+ if (object.rating != null)
+ message.rating = Number(object.rating);
+ if (object.title != null)
+ message.title = String(object.title);
+ if (object.content != null)
+ message.content = String(object.content);
+ if (object.reviewerId != null)
+ message.reviewerId = String(object.reviewerId);
+ if (object.reviewerUsername != null)
+ message.reviewerUsername = String(object.reviewerUsername);
+ if (object.isAnonymous != null)
+ message.isAnonymous = Boolean(object.isAnonymous);
+ switch (object.collectionMethod) {
+ default:
+ if (typeof object.collectionMethod === "number") {
+ message.collectionMethod = object.collectionMethod;
+ break;
+ }
+ break;
+ case "COLLECTION_METHOD_UNSPECIFIED":
+ case 0:
+ message.collectionMethod = 0;
+ break;
+ case "MERCHANT_UNSOLICITED":
+ case 1:
+ message.collectionMethod = 1;
+ break;
+ case "POINT_OF_SALE":
+ case 2:
+ message.collectionMethod = 2;
+ break;
+ case "AFTER_FULFILLMENT":
+ case 3:
+ message.collectionMethod = 3;
+ break;
+ }
+ if (object.reviewTime != null) {
+ if (typeof object.reviewTime !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.reviewTime: object expected");
+ message.reviewTime = $root.google.protobuf.Timestamp.fromObject(object.reviewTime);
+ }
+ if (object.reviewLanguage != null)
+ message.reviewLanguage = String(object.reviewLanguage);
+ if (object.reviewCountry != null)
+ message.reviewCountry = String(object.reviewCountry);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MerchantReviewAttributes message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes} message MerchantReviewAttributes
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MerchantReviewAttributes.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.merchantId != null && message.hasOwnProperty("merchantId")) {
+ object.merchantId = message.merchantId;
+ if (options.oneofs)
+ object._merchantId = "merchantId";
+ }
+ if (message.merchantDisplayName != null && message.hasOwnProperty("merchantDisplayName")) {
+ object.merchantDisplayName = message.merchantDisplayName;
+ if (options.oneofs)
+ object._merchantDisplayName = "merchantDisplayName";
+ }
+ if (message.merchantLink != null && message.hasOwnProperty("merchantLink")) {
+ object.merchantLink = message.merchantLink;
+ if (options.oneofs)
+ object._merchantLink = "merchantLink";
+ }
+ if (message.merchantRatingLink != null && message.hasOwnProperty("merchantRatingLink")) {
+ object.merchantRatingLink = message.merchantRatingLink;
+ if (options.oneofs)
+ object._merchantRatingLink = "merchantRatingLink";
+ }
+ if (message.minRating != null && message.hasOwnProperty("minRating")) {
+ if (typeof message.minRating === "number")
+ object.minRating = options.longs === String ? String(message.minRating) : message.minRating;
+ else
+ object.minRating = options.longs === String ? $util.Long.prototype.toString.call(message.minRating) : options.longs === Number ? new $util.LongBits(message.minRating.low >>> 0, message.minRating.high >>> 0).toNumber() : message.minRating;
+ if (options.oneofs)
+ object._minRating = "minRating";
+ }
+ if (message.maxRating != null && message.hasOwnProperty("maxRating")) {
+ if (typeof message.maxRating === "number")
+ object.maxRating = options.longs === String ? String(message.maxRating) : message.maxRating;
+ else
+ object.maxRating = options.longs === String ? $util.Long.prototype.toString.call(message.maxRating) : options.longs === Number ? new $util.LongBits(message.maxRating.low >>> 0, message.maxRating.high >>> 0).toNumber() : message.maxRating;
+ if (options.oneofs)
+ object._maxRating = "maxRating";
+ }
+ if (message.rating != null && message.hasOwnProperty("rating")) {
+ object.rating = options.json && !isFinite(message.rating) ? String(message.rating) : message.rating;
+ if (options.oneofs)
+ object._rating = "rating";
+ }
+ if (message.title != null && message.hasOwnProperty("title")) {
+ object.title = message.title;
+ if (options.oneofs)
+ object._title = "title";
+ }
+ if (message.content != null && message.hasOwnProperty("content")) {
+ object.content = message.content;
+ if (options.oneofs)
+ object._content = "content";
+ }
+ if (message.reviewerId != null && message.hasOwnProperty("reviewerId")) {
+ object.reviewerId = message.reviewerId;
+ if (options.oneofs)
+ object._reviewerId = "reviewerId";
+ }
+ if (message.reviewerUsername != null && message.hasOwnProperty("reviewerUsername")) {
+ object.reviewerUsername = message.reviewerUsername;
+ if (options.oneofs)
+ object._reviewerUsername = "reviewerUsername";
+ }
+ if (message.isAnonymous != null && message.hasOwnProperty("isAnonymous")) {
+ object.isAnonymous = message.isAnonymous;
+ if (options.oneofs)
+ object._isAnonymous = "isAnonymous";
+ }
+ if (message.collectionMethod != null && message.hasOwnProperty("collectionMethod")) {
+ object.collectionMethod = options.enums === String ? $root.google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.CollectionMethod[message.collectionMethod] === undefined ? message.collectionMethod : $root.google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.CollectionMethod[message.collectionMethod] : message.collectionMethod;
+ if (options.oneofs)
+ object._collectionMethod = "collectionMethod";
+ }
+ if (message.reviewTime != null && message.hasOwnProperty("reviewTime")) {
+ object.reviewTime = $root.google.protobuf.Timestamp.toObject(message.reviewTime, options);
+ if (options.oneofs)
+ object._reviewTime = "reviewTime";
+ }
+ if (message.reviewLanguage != null && message.hasOwnProperty("reviewLanguage")) {
+ object.reviewLanguage = message.reviewLanguage;
+ if (options.oneofs)
+ object._reviewLanguage = "reviewLanguage";
+ }
+ if (message.reviewCountry != null && message.hasOwnProperty("reviewCountry")) {
+ object.reviewCountry = message.reviewCountry;
+ if (options.oneofs)
+ object._reviewCountry = "reviewCountry";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this MerchantReviewAttributes to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MerchantReviewAttributes.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MerchantReviewAttributes
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MerchantReviewAttributes.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes";
+ };
+
+ /**
+ * CollectionMethod enum.
+ * @name google.shopping.merchant.reviews.v1beta.MerchantReviewAttributes.CollectionMethod
+ * @enum {number}
+ * @property {number} COLLECTION_METHOD_UNSPECIFIED=0 COLLECTION_METHOD_UNSPECIFIED value
+ * @property {number} MERCHANT_UNSOLICITED=1 MERCHANT_UNSOLICITED value
+ * @property {number} POINT_OF_SALE=2 POINT_OF_SALE value
+ * @property {number} AFTER_FULFILLMENT=3 AFTER_FULFILLMENT value
+ */
+ MerchantReviewAttributes.CollectionMethod = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "COLLECTION_METHOD_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "MERCHANT_UNSOLICITED"] = 1;
+ values[valuesById[2] = "POINT_OF_SALE"] = 2;
+ values[valuesById[3] = "AFTER_FULFILLMENT"] = 3;
+ return values;
+ })();
+
+ return MerchantReviewAttributes;
+ })();
+
+ v1beta.MerchantReviewStatus = (function() {
+
+ /**
+ * Properties of a MerchantReviewStatus.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @interface IMerchantReviewStatus
+ * @property {Array.|null} [destinationStatuses] MerchantReviewStatus destinationStatuses
+ * @property {Array.|null} [itemLevelIssues] MerchantReviewStatus itemLevelIssues
+ * @property {google.protobuf.ITimestamp|null} [createTime] MerchantReviewStatus createTime
+ * @property {google.protobuf.ITimestamp|null} [lastUpdateTime] MerchantReviewStatus lastUpdateTime
+ */
+
+ /**
+ * Constructs a new MerchantReviewStatus.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @classdesc Represents a MerchantReviewStatus.
+ * @implements IMerchantReviewStatus
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.IMerchantReviewStatus=} [properties] Properties to set
+ */
+ function MerchantReviewStatus(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]];
+ }
+
+ /**
+ * MerchantReviewStatus destinationStatuses.
+ * @member {Array.} destinationStatuses
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus
+ * @instance
+ */
+ MerchantReviewStatus.prototype.destinationStatuses = $util.emptyArray;
+
+ /**
+ * MerchantReviewStatus itemLevelIssues.
+ * @member {Array.} itemLevelIssues
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus
+ * @instance
+ */
+ MerchantReviewStatus.prototype.itemLevelIssues = $util.emptyArray;
+
+ /**
+ * MerchantReviewStatus createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus
+ * @instance
+ */
+ MerchantReviewStatus.prototype.createTime = null;
+
+ /**
+ * MerchantReviewStatus lastUpdateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} lastUpdateTime
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus
+ * @instance
+ */
+ MerchantReviewStatus.prototype.lastUpdateTime = null;
+
+ /**
+ * Creates a new MerchantReviewStatus instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IMerchantReviewStatus=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus} MerchantReviewStatus instance
+ */
+ MerchantReviewStatus.create = function create(properties) {
+ return new MerchantReviewStatus(properties);
+ };
+
+ /**
+ * Encodes the specified MerchantReviewStatus message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IMerchantReviewStatus} message MerchantReviewStatus message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MerchantReviewStatus.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.destinationStatuses != null && message.destinationStatuses.length)
+ for (var i = 0; i < message.destinationStatuses.length; ++i)
+ $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus.encode(message.destinationStatuses[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.itemLevelIssues != null && message.itemLevelIssues.length)
+ for (var i = 0; i < message.itemLevelIssues.length; ++i)
+ $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue.encode(message.itemLevelIssues[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.lastUpdateTime != null && Object.hasOwnProperty.call(message, "lastUpdateTime"))
+ $root.google.protobuf.Timestamp.encode(message.lastUpdateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MerchantReviewStatus message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IMerchantReviewStatus} message MerchantReviewStatus message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MerchantReviewStatus.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MerchantReviewStatus message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus} MerchantReviewStatus
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MerchantReviewStatus.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 3: {
+ if (!(message.destinationStatuses && message.destinationStatuses.length))
+ message.destinationStatuses = [];
+ message.destinationStatuses.push($root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ if (!(message.itemLevelIssues && message.itemLevelIssues.length))
+ message.itemLevelIssues = [];
+ message.itemLevelIssues.push($root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.lastUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MerchantReviewStatus message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus} MerchantReviewStatus
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MerchantReviewStatus.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MerchantReviewStatus message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MerchantReviewStatus.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.destinationStatuses != null && message.hasOwnProperty("destinationStatuses")) {
+ if (!Array.isArray(message.destinationStatuses))
+ return "destinationStatuses: array expected";
+ for (var i = 0; i < message.destinationStatuses.length; ++i) {
+ var error = $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus.verify(message.destinationStatuses[i]);
+ if (error)
+ return "destinationStatuses." + error;
+ }
+ }
+ if (message.itemLevelIssues != null && message.hasOwnProperty("itemLevelIssues")) {
+ if (!Array.isArray(message.itemLevelIssues))
+ return "itemLevelIssues: array expected";
+ for (var i = 0; i < message.itemLevelIssues.length; ++i) {
+ var error = $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue.verify(message.itemLevelIssues[i]);
+ if (error)
+ return "itemLevelIssues." + error;
+ }
+ }
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.lastUpdateTime != null && message.hasOwnProperty("lastUpdateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.lastUpdateTime);
+ if (error)
+ return "lastUpdateTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MerchantReviewStatus message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus} MerchantReviewStatus
+ */
+ MerchantReviewStatus.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus();
+ if (object.destinationStatuses) {
+ if (!Array.isArray(object.destinationStatuses))
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.destinationStatuses: array expected");
+ message.destinationStatuses = [];
+ for (var i = 0; i < object.destinationStatuses.length; ++i) {
+ if (typeof object.destinationStatuses[i] !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.destinationStatuses: object expected");
+ message.destinationStatuses[i] = $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus.fromObject(object.destinationStatuses[i]);
+ }
+ }
+ if (object.itemLevelIssues) {
+ if (!Array.isArray(object.itemLevelIssues))
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.itemLevelIssues: array expected");
+ message.itemLevelIssues = [];
+ for (var i = 0; i < object.itemLevelIssues.length; ++i) {
+ if (typeof object.itemLevelIssues[i] !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.itemLevelIssues: object expected");
+ message.itemLevelIssues[i] = $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue.fromObject(object.itemLevelIssues[i]);
+ }
+ }
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.lastUpdateTime != null) {
+ if (typeof object.lastUpdateTime !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.lastUpdateTime: object expected");
+ message.lastUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.lastUpdateTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MerchantReviewStatus message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus} message MerchantReviewStatus
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MerchantReviewStatus.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.destinationStatuses = [];
+ object.itemLevelIssues = [];
+ }
+ if (options.defaults) {
+ object.createTime = null;
+ object.lastUpdateTime = null;
+ }
+ if (message.destinationStatuses && message.destinationStatuses.length) {
+ object.destinationStatuses = [];
+ for (var j = 0; j < message.destinationStatuses.length; ++j)
+ object.destinationStatuses[j] = $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus.toObject(message.destinationStatuses[j], options);
+ }
+ if (message.itemLevelIssues && message.itemLevelIssues.length) {
+ object.itemLevelIssues = [];
+ for (var j = 0; j < message.itemLevelIssues.length; ++j)
+ object.itemLevelIssues[j] = $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue.toObject(message.itemLevelIssues[j], options);
+ }
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.lastUpdateTime != null && message.hasOwnProperty("lastUpdateTime"))
+ object.lastUpdateTime = $root.google.protobuf.Timestamp.toObject(message.lastUpdateTime, options);
+ return object;
+ };
+
+ /**
+ * Converts this MerchantReviewStatus to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MerchantReviewStatus.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MerchantReviewStatus
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MerchantReviewStatus.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.MerchantReviewStatus";
+ };
+
+ MerchantReviewStatus.MerchantReviewDestinationStatus = (function() {
+
+ /**
+ * Properties of a MerchantReviewDestinationStatus.
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus
+ * @interface IMerchantReviewDestinationStatus
+ * @property {google.shopping.type.ReportingContext.ReportingContextEnum|null} [reportingContext] MerchantReviewDestinationStatus reportingContext
+ */
+
+ /**
+ * Constructs a new MerchantReviewDestinationStatus.
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus
+ * @classdesc Represents a MerchantReviewDestinationStatus.
+ * @implements IMerchantReviewDestinationStatus
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewDestinationStatus=} [properties] Properties to set
+ */
+ function MerchantReviewDestinationStatus(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]];
+ }
+
+ /**
+ * MerchantReviewDestinationStatus reportingContext.
+ * @member {google.shopping.type.ReportingContext.ReportingContextEnum} reportingContext
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus
+ * @instance
+ */
+ MerchantReviewDestinationStatus.prototype.reportingContext = 0;
+
+ /**
+ * Creates a new MerchantReviewDestinationStatus instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewDestinationStatus=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus} MerchantReviewDestinationStatus instance
+ */
+ MerchantReviewDestinationStatus.create = function create(properties) {
+ return new MerchantReviewDestinationStatus(properties);
+ };
+
+ /**
+ * Encodes the specified MerchantReviewDestinationStatus message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewDestinationStatus} message MerchantReviewDestinationStatus message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MerchantReviewDestinationStatus.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.reportingContext != null && Object.hasOwnProperty.call(message, "reportingContext"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.reportingContext);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MerchantReviewDestinationStatus message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewDestinationStatus} message MerchantReviewDestinationStatus message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MerchantReviewDestinationStatus.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MerchantReviewDestinationStatus message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus} MerchantReviewDestinationStatus
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MerchantReviewDestinationStatus.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.reportingContext = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MerchantReviewDestinationStatus message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus} MerchantReviewDestinationStatus
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MerchantReviewDestinationStatus.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MerchantReviewDestinationStatus message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MerchantReviewDestinationStatus.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.reportingContext != null && message.hasOwnProperty("reportingContext"))
+ switch (message.reportingContext) {
+ default:
+ return "reportingContext: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 13:
+ case 14:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MerchantReviewDestinationStatus message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus} MerchantReviewDestinationStatus
+ */
+ MerchantReviewDestinationStatus.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus();
+ switch (object.reportingContext) {
+ default:
+ if (typeof object.reportingContext === "number") {
+ message.reportingContext = object.reportingContext;
+ break;
+ }
+ break;
+ case "REPORTING_CONTEXT_ENUM_UNSPECIFIED":
+ case 0:
+ message.reportingContext = 0;
+ break;
+ case "SHOPPING_ADS":
+ case 1:
+ message.reportingContext = 1;
+ break;
+ case "DISCOVERY_ADS":
+ case 2:
+ message.reportingContext = 2;
+ break;
+ case "DEMAND_GEN_ADS":
+ case 13:
+ message.reportingContext = 13;
+ break;
+ case "DEMAND_GEN_ADS_DISCOVER_SURFACE":
+ case 14:
+ message.reportingContext = 14;
+ break;
+ case "VIDEO_ADS":
+ case 3:
+ message.reportingContext = 3;
+ break;
+ case "DISPLAY_ADS":
+ case 4:
+ message.reportingContext = 4;
+ break;
+ case "LOCAL_INVENTORY_ADS":
+ case 5:
+ message.reportingContext = 5;
+ break;
+ case "VEHICLE_INVENTORY_ADS":
+ case 6:
+ message.reportingContext = 6;
+ break;
+ case "FREE_LISTINGS":
+ case 7:
+ message.reportingContext = 7;
+ break;
+ case "FREE_LOCAL_LISTINGS":
+ case 8:
+ message.reportingContext = 8;
+ break;
+ case "FREE_LOCAL_VEHICLE_LISTINGS":
+ case 9:
+ message.reportingContext = 9;
+ break;
+ case "YOUTUBE_SHOPPING":
+ case 10:
+ message.reportingContext = 10;
+ break;
+ case "CLOUD_RETAIL":
+ case 11:
+ message.reportingContext = 11;
+ break;
+ case "LOCAL_CLOUD_RETAIL":
+ case 12:
+ message.reportingContext = 12;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MerchantReviewDestinationStatus message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus} message MerchantReviewDestinationStatus
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MerchantReviewDestinationStatus.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.reportingContext = options.enums === String ? "REPORTING_CONTEXT_ENUM_UNSPECIFIED" : 0;
+ if (message.reportingContext != null && message.hasOwnProperty("reportingContext"))
+ object.reportingContext = options.enums === String ? $root.google.shopping.type.ReportingContext.ReportingContextEnum[message.reportingContext] === undefined ? message.reportingContext : $root.google.shopping.type.ReportingContext.ReportingContextEnum[message.reportingContext] : message.reportingContext;
+ return object;
+ };
+
+ /**
+ * Converts this MerchantReviewDestinationStatus to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MerchantReviewDestinationStatus.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MerchantReviewDestinationStatus
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MerchantReviewDestinationStatus.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewDestinationStatus";
+ };
+
+ return MerchantReviewDestinationStatus;
+ })();
+
+ MerchantReviewStatus.MerchantReviewItemLevelIssue = (function() {
+
+ /**
+ * Properties of a MerchantReviewItemLevelIssue.
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus
+ * @interface IMerchantReviewItemLevelIssue
+ * @property {string|null} [code] MerchantReviewItemLevelIssue code
+ * @property {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue.Severity|null} [severity] MerchantReviewItemLevelIssue severity
+ * @property {string|null} [resolution] MerchantReviewItemLevelIssue resolution
+ * @property {string|null} [attribute] MerchantReviewItemLevelIssue attribute
+ * @property {google.shopping.type.ReportingContext.ReportingContextEnum|null} [reportingContext] MerchantReviewItemLevelIssue reportingContext
+ * @property {string|null} [description] MerchantReviewItemLevelIssue description
+ * @property {string|null} [detail] MerchantReviewItemLevelIssue detail
+ * @property {string|null} [documentation] MerchantReviewItemLevelIssue documentation
+ */
+
+ /**
+ * Constructs a new MerchantReviewItemLevelIssue.
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus
+ * @classdesc Represents a MerchantReviewItemLevelIssue.
+ * @implements IMerchantReviewItemLevelIssue
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewItemLevelIssue=} [properties] Properties to set
+ */
+ function MerchantReviewItemLevelIssue(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]];
+ }
+
+ /**
+ * MerchantReviewItemLevelIssue code.
+ * @member {string} code
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue
+ * @instance
+ */
+ MerchantReviewItemLevelIssue.prototype.code = "";
+
+ /**
+ * MerchantReviewItemLevelIssue severity.
+ * @member {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue.Severity} severity
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue
+ * @instance
+ */
+ MerchantReviewItemLevelIssue.prototype.severity = 0;
+
+ /**
+ * MerchantReviewItemLevelIssue resolution.
+ * @member {string} resolution
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue
+ * @instance
+ */
+ MerchantReviewItemLevelIssue.prototype.resolution = "";
+
+ /**
+ * MerchantReviewItemLevelIssue attribute.
+ * @member {string} attribute
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue
+ * @instance
+ */
+ MerchantReviewItemLevelIssue.prototype.attribute = "";
+
+ /**
+ * MerchantReviewItemLevelIssue reportingContext.
+ * @member {google.shopping.type.ReportingContext.ReportingContextEnum} reportingContext
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue
+ * @instance
+ */
+ MerchantReviewItemLevelIssue.prototype.reportingContext = 0;
+
+ /**
+ * MerchantReviewItemLevelIssue description.
+ * @member {string} description
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue
+ * @instance
+ */
+ MerchantReviewItemLevelIssue.prototype.description = "";
+
+ /**
+ * MerchantReviewItemLevelIssue detail.
+ * @member {string} detail
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue
+ * @instance
+ */
+ MerchantReviewItemLevelIssue.prototype.detail = "";
+
+ /**
+ * MerchantReviewItemLevelIssue documentation.
+ * @member {string} documentation
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue
+ * @instance
+ */
+ MerchantReviewItemLevelIssue.prototype.documentation = "";
+
+ /**
+ * Creates a new MerchantReviewItemLevelIssue instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewItemLevelIssue=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue} MerchantReviewItemLevelIssue instance
+ */
+ MerchantReviewItemLevelIssue.create = function create(properties) {
+ return new MerchantReviewItemLevelIssue(properties);
+ };
+
+ /**
+ * Encodes the specified MerchantReviewItemLevelIssue message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewItemLevelIssue} message MerchantReviewItemLevelIssue message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MerchantReviewItemLevelIssue.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.code != null && Object.hasOwnProperty.call(message, "code"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.code);
+ if (message.severity != null && Object.hasOwnProperty.call(message, "severity"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.severity);
+ if (message.resolution != null && Object.hasOwnProperty.call(message, "resolution"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.resolution);
+ if (message.attribute != null && Object.hasOwnProperty.call(message, "attribute"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.attribute);
+ if (message.reportingContext != null && Object.hasOwnProperty.call(message, "reportingContext"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.reportingContext);
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.description);
+ if (message.detail != null && Object.hasOwnProperty.call(message, "detail"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.detail);
+ if (message.documentation != null && Object.hasOwnProperty.call(message, "documentation"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.documentation);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MerchantReviewItemLevelIssue message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.IMerchantReviewItemLevelIssue} message MerchantReviewItemLevelIssue message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MerchantReviewItemLevelIssue.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MerchantReviewItemLevelIssue message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue} MerchantReviewItemLevelIssue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MerchantReviewItemLevelIssue.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.code = reader.string();
+ break;
+ }
+ case 2: {
+ message.severity = reader.int32();
+ break;
+ }
+ case 3: {
+ message.resolution = reader.string();
+ break;
+ }
+ case 4: {
+ message.attribute = reader.string();
+ break;
+ }
+ case 5: {
+ message.reportingContext = reader.int32();
+ break;
+ }
+ case 6: {
+ message.description = reader.string();
+ break;
+ }
+ case 7: {
+ message.detail = reader.string();
+ break;
+ }
+ case 8: {
+ message.documentation = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MerchantReviewItemLevelIssue message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue} MerchantReviewItemLevelIssue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MerchantReviewItemLevelIssue.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MerchantReviewItemLevelIssue message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MerchantReviewItemLevelIssue.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.code != null && message.hasOwnProperty("code"))
+ if (!$util.isString(message.code))
+ return "code: string expected";
+ if (message.severity != null && message.hasOwnProperty("severity"))
+ switch (message.severity) {
+ default:
+ return "severity: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.resolution != null && message.hasOwnProperty("resolution"))
+ if (!$util.isString(message.resolution))
+ return "resolution: string expected";
+ if (message.attribute != null && message.hasOwnProperty("attribute"))
+ if (!$util.isString(message.attribute))
+ return "attribute: string expected";
+ if (message.reportingContext != null && message.hasOwnProperty("reportingContext"))
+ switch (message.reportingContext) {
+ default:
+ return "reportingContext: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 13:
+ case 14:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ break;
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.detail != null && message.hasOwnProperty("detail"))
+ if (!$util.isString(message.detail))
+ return "detail: string expected";
+ if (message.documentation != null && message.hasOwnProperty("documentation"))
+ if (!$util.isString(message.documentation))
+ return "documentation: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a MerchantReviewItemLevelIssue message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue} MerchantReviewItemLevelIssue
+ */
+ MerchantReviewItemLevelIssue.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue();
+ if (object.code != null)
+ message.code = String(object.code);
+ switch (object.severity) {
+ default:
+ if (typeof object.severity === "number") {
+ message.severity = object.severity;
+ break;
+ }
+ break;
+ case "SEVERITY_UNSPECIFIED":
+ case 0:
+ message.severity = 0;
+ break;
+ case "NOT_IMPACTED":
+ case 1:
+ message.severity = 1;
+ break;
+ case "DISAPPROVED":
+ case 2:
+ message.severity = 2;
+ break;
+ }
+ if (object.resolution != null)
+ message.resolution = String(object.resolution);
+ if (object.attribute != null)
+ message.attribute = String(object.attribute);
+ switch (object.reportingContext) {
+ default:
+ if (typeof object.reportingContext === "number") {
+ message.reportingContext = object.reportingContext;
+ break;
+ }
+ break;
+ case "REPORTING_CONTEXT_ENUM_UNSPECIFIED":
+ case 0:
+ message.reportingContext = 0;
+ break;
+ case "SHOPPING_ADS":
+ case 1:
+ message.reportingContext = 1;
+ break;
+ case "DISCOVERY_ADS":
+ case 2:
+ message.reportingContext = 2;
+ break;
+ case "DEMAND_GEN_ADS":
+ case 13:
+ message.reportingContext = 13;
+ break;
+ case "DEMAND_GEN_ADS_DISCOVER_SURFACE":
+ case 14:
+ message.reportingContext = 14;
+ break;
+ case "VIDEO_ADS":
+ case 3:
+ message.reportingContext = 3;
+ break;
+ case "DISPLAY_ADS":
+ case 4:
+ message.reportingContext = 4;
+ break;
+ case "LOCAL_INVENTORY_ADS":
+ case 5:
+ message.reportingContext = 5;
+ break;
+ case "VEHICLE_INVENTORY_ADS":
+ case 6:
+ message.reportingContext = 6;
+ break;
+ case "FREE_LISTINGS":
+ case 7:
+ message.reportingContext = 7;
+ break;
+ case "FREE_LOCAL_LISTINGS":
+ case 8:
+ message.reportingContext = 8;
+ break;
+ case "FREE_LOCAL_VEHICLE_LISTINGS":
+ case 9:
+ message.reportingContext = 9;
+ break;
+ case "YOUTUBE_SHOPPING":
+ case 10:
+ message.reportingContext = 10;
+ break;
+ case "CLOUD_RETAIL":
+ case 11:
+ message.reportingContext = 11;
+ break;
+ case "LOCAL_CLOUD_RETAIL":
+ case 12:
+ message.reportingContext = 12;
+ break;
+ }
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.detail != null)
+ message.detail = String(object.detail);
+ if (object.documentation != null)
+ message.documentation = String(object.documentation);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MerchantReviewItemLevelIssue message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue} message MerchantReviewItemLevelIssue
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MerchantReviewItemLevelIssue.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.code = "";
+ object.severity = options.enums === String ? "SEVERITY_UNSPECIFIED" : 0;
+ object.resolution = "";
+ object.attribute = "";
+ object.reportingContext = options.enums === String ? "REPORTING_CONTEXT_ENUM_UNSPECIFIED" : 0;
+ object.description = "";
+ object.detail = "";
+ object.documentation = "";
+ }
+ if (message.code != null && message.hasOwnProperty("code"))
+ object.code = message.code;
+ if (message.severity != null && message.hasOwnProperty("severity"))
+ object.severity = options.enums === String ? $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue.Severity[message.severity] === undefined ? message.severity : $root.google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue.Severity[message.severity] : message.severity;
+ if (message.resolution != null && message.hasOwnProperty("resolution"))
+ object.resolution = message.resolution;
+ if (message.attribute != null && message.hasOwnProperty("attribute"))
+ object.attribute = message.attribute;
+ if (message.reportingContext != null && message.hasOwnProperty("reportingContext"))
+ object.reportingContext = options.enums === String ? $root.google.shopping.type.ReportingContext.ReportingContextEnum[message.reportingContext] === undefined ? message.reportingContext : $root.google.shopping.type.ReportingContext.ReportingContextEnum[message.reportingContext] : message.reportingContext;
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.detail != null && message.hasOwnProperty("detail"))
+ object.detail = message.detail;
+ if (message.documentation != null && message.hasOwnProperty("documentation"))
+ object.documentation = message.documentation;
+ return object;
+ };
+
+ /**
+ * Converts this MerchantReviewItemLevelIssue to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MerchantReviewItemLevelIssue.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MerchantReviewItemLevelIssue
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MerchantReviewItemLevelIssue.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue";
+ };
+
+ /**
+ * Severity enum.
+ * @name google.shopping.merchant.reviews.v1beta.MerchantReviewStatus.MerchantReviewItemLevelIssue.Severity
+ * @enum {number}
+ * @property {number} SEVERITY_UNSPECIFIED=0 SEVERITY_UNSPECIFIED value
+ * @property {number} NOT_IMPACTED=1 NOT_IMPACTED value
+ * @property {number} DISAPPROVED=2 DISAPPROVED value
+ */
+ MerchantReviewItemLevelIssue.Severity = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "SEVERITY_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "NOT_IMPACTED"] = 1;
+ values[valuesById[2] = "DISAPPROVED"] = 2;
+ return values;
+ })();
+
+ return MerchantReviewItemLevelIssue;
+ })();
+
+ return MerchantReviewStatus;
+ })();
+
+ v1beta.ProductReviewsService = (function() {
+
+ /**
+ * Constructs a new ProductReviewsService service.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @classdesc Represents a ProductReviewsService
+ * @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 ProductReviewsService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (ProductReviewsService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ProductReviewsService;
+
+ /**
+ * Creates new ProductReviewsService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewsService
+ * @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 {ProductReviewsService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ ProductReviewsService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.shopping.merchant.reviews.v1beta.ProductReviewsService|getProductReview}.
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewsService
+ * @typedef GetProductReviewCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReview} [response] ProductReview
+ */
+
+ /**
+ * Calls GetProductReview.
+ * @function getProductReview
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewsService
+ * @instance
+ * @param {google.shopping.merchant.reviews.v1beta.IGetProductReviewRequest} request GetProductReviewRequest message or plain object
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewsService.GetProductReviewCallback} callback Node-style callback called with the error, if any, and ProductReview
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(ProductReviewsService.prototype.getProductReview = function getProductReview(request, callback) {
+ return this.rpcCall(getProductReview, $root.google.shopping.merchant.reviews.v1beta.GetProductReviewRequest, $root.google.shopping.merchant.reviews.v1beta.ProductReview, request, callback);
+ }, "name", { value: "GetProductReview" });
+
+ /**
+ * Calls GetProductReview.
+ * @function getProductReview
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewsService
+ * @instance
+ * @param {google.shopping.merchant.reviews.v1beta.IGetProductReviewRequest} request GetProductReviewRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.shopping.merchant.reviews.v1beta.ProductReviewsService|listProductReviews}.
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewsService
+ * @typedef ListProductReviewsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse} [response] ListProductReviewsResponse
+ */
+
+ /**
+ * Calls ListProductReviews.
+ * @function listProductReviews
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewsService
+ * @instance
+ * @param {google.shopping.merchant.reviews.v1beta.IListProductReviewsRequest} request ListProductReviewsRequest message or plain object
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewsService.ListProductReviewsCallback} callback Node-style callback called with the error, if any, and ListProductReviewsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(ProductReviewsService.prototype.listProductReviews = function listProductReviews(request, callback) {
+ return this.rpcCall(listProductReviews, $root.google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest, $root.google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse, request, callback);
+ }, "name", { value: "ListProductReviews" });
+
+ /**
+ * Calls ListProductReviews.
+ * @function listProductReviews
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewsService
+ * @instance
+ * @param {google.shopping.merchant.reviews.v1beta.IListProductReviewsRequest} request ListProductReviewsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.shopping.merchant.reviews.v1beta.ProductReviewsService|insertProductReview}.
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewsService
+ * @typedef InsertProductReviewCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReview} [response] ProductReview
+ */
+
+ /**
+ * Calls InsertProductReview.
+ * @function insertProductReview
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewsService
+ * @instance
+ * @param {google.shopping.merchant.reviews.v1beta.IInsertProductReviewRequest} request InsertProductReviewRequest message or plain object
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewsService.InsertProductReviewCallback} callback Node-style callback called with the error, if any, and ProductReview
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(ProductReviewsService.prototype.insertProductReview = function insertProductReview(request, callback) {
+ return this.rpcCall(insertProductReview, $root.google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest, $root.google.shopping.merchant.reviews.v1beta.ProductReview, request, callback);
+ }, "name", { value: "InsertProductReview" });
+
+ /**
+ * Calls InsertProductReview.
+ * @function insertProductReview
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewsService
+ * @instance
+ * @param {google.shopping.merchant.reviews.v1beta.IInsertProductReviewRequest} request InsertProductReviewRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.shopping.merchant.reviews.v1beta.ProductReviewsService|deleteProductReview}.
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewsService
+ * @typedef DeleteProductReviewCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteProductReview.
+ * @function deleteProductReview
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewsService
+ * @instance
+ * @param {google.shopping.merchant.reviews.v1beta.IDeleteProductReviewRequest} request DeleteProductReviewRequest message or plain object
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewsService.DeleteProductReviewCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(ProductReviewsService.prototype.deleteProductReview = function deleteProductReview(request, callback) {
+ return this.rpcCall(deleteProductReview, $root.google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteProductReview" });
+
+ /**
+ * Calls DeleteProductReview.
+ * @function deleteProductReview
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewsService
+ * @instance
+ * @param {google.shopping.merchant.reviews.v1beta.IDeleteProductReviewRequest} request DeleteProductReviewRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return ProductReviewsService;
+ })();
+
+ v1beta.GetProductReviewRequest = (function() {
+
+ /**
+ * Properties of a GetProductReviewRequest.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @interface IGetProductReviewRequest
+ * @property {string|null} [name] GetProductReviewRequest name
+ */
+
+ /**
+ * Constructs a new GetProductReviewRequest.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @classdesc Represents a GetProductReviewRequest.
+ * @implements IGetProductReviewRequest
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.IGetProductReviewRequest=} [properties] Properties to set
+ */
+ function GetProductReviewRequest(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]];
+ }
+
+ /**
+ * GetProductReviewRequest name.
+ * @member {string} name
+ * @memberof google.shopping.merchant.reviews.v1beta.GetProductReviewRequest
+ * @instance
+ */
+ GetProductReviewRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetProductReviewRequest instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.GetProductReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IGetProductReviewRequest=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.GetProductReviewRequest} GetProductReviewRequest instance
+ */
+ GetProductReviewRequest.create = function create(properties) {
+ return new GetProductReviewRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetProductReviewRequest message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.GetProductReviewRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.GetProductReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IGetProductReviewRequest} message GetProductReviewRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetProductReviewRequest.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 GetProductReviewRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.GetProductReviewRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.GetProductReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IGetProductReviewRequest} message GetProductReviewRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetProductReviewRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetProductReviewRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.GetProductReviewRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.GetProductReviewRequest} GetProductReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetProductReviewRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.GetProductReviewRequest();
+ 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 GetProductReviewRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.GetProductReviewRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.GetProductReviewRequest} GetProductReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetProductReviewRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetProductReviewRequest message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.GetProductReviewRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetProductReviewRequest.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 GetProductReviewRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.GetProductReviewRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.GetProductReviewRequest} GetProductReviewRequest
+ */
+ GetProductReviewRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.GetProductReviewRequest)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.GetProductReviewRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetProductReviewRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.GetProductReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.GetProductReviewRequest} message GetProductReviewRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetProductReviewRequest.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 GetProductReviewRequest to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.GetProductReviewRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetProductReviewRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetProductReviewRequest
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.GetProductReviewRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetProductReviewRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.GetProductReviewRequest";
+ };
+
+ return GetProductReviewRequest;
+ })();
+
+ v1beta.DeleteProductReviewRequest = (function() {
+
+ /**
+ * Properties of a DeleteProductReviewRequest.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @interface IDeleteProductReviewRequest
+ * @property {string|null} [name] DeleteProductReviewRequest name
+ */
+
+ /**
+ * Constructs a new DeleteProductReviewRequest.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @classdesc Represents a DeleteProductReviewRequest.
+ * @implements IDeleteProductReviewRequest
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.IDeleteProductReviewRequest=} [properties] Properties to set
+ */
+ function DeleteProductReviewRequest(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]];
+ }
+
+ /**
+ * DeleteProductReviewRequest name.
+ * @member {string} name
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest
+ * @instance
+ */
+ DeleteProductReviewRequest.prototype.name = "";
+
+ /**
+ * Creates a new DeleteProductReviewRequest instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IDeleteProductReviewRequest=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest} DeleteProductReviewRequest instance
+ */
+ DeleteProductReviewRequest.create = function create(properties) {
+ return new DeleteProductReviewRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteProductReviewRequest message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IDeleteProductReviewRequest} message DeleteProductReviewRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteProductReviewRequest.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 DeleteProductReviewRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IDeleteProductReviewRequest} message DeleteProductReviewRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteProductReviewRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteProductReviewRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest} DeleteProductReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteProductReviewRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest();
+ 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 DeleteProductReviewRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest} DeleteProductReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteProductReviewRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteProductReviewRequest message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteProductReviewRequest.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 DeleteProductReviewRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest} DeleteProductReviewRequest
+ */
+ DeleteProductReviewRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteProductReviewRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest} message DeleteProductReviewRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteProductReviewRequest.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 DeleteProductReviewRequest to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteProductReviewRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteProductReviewRequest
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteProductReviewRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest";
+ };
+
+ return DeleteProductReviewRequest;
+ })();
+
+ v1beta.ListProductReviewsRequest = (function() {
+
+ /**
+ * Properties of a ListProductReviewsRequest.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @interface IListProductReviewsRequest
+ * @property {string|null} [parent] ListProductReviewsRequest parent
+ * @property {number|null} [pageSize] ListProductReviewsRequest pageSize
+ * @property {string|null} [pageToken] ListProductReviewsRequest pageToken
+ */
+
+ /**
+ * Constructs a new ListProductReviewsRequest.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @classdesc Represents a ListProductReviewsRequest.
+ * @implements IListProductReviewsRequest
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.IListProductReviewsRequest=} [properties] Properties to set
+ */
+ function ListProductReviewsRequest(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]];
+ }
+
+ /**
+ * ListProductReviewsRequest parent.
+ * @member {string} parent
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest
+ * @instance
+ */
+ ListProductReviewsRequest.prototype.parent = "";
+
+ /**
+ * ListProductReviewsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest
+ * @instance
+ */
+ ListProductReviewsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListProductReviewsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest
+ * @instance
+ */
+ ListProductReviewsRequest.prototype.pageToken = "";
+
+ /**
+ * Creates a new ListProductReviewsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IListProductReviewsRequest=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest} ListProductReviewsRequest instance
+ */
+ ListProductReviewsRequest.create = function create(properties) {
+ return new ListProductReviewsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListProductReviewsRequest message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IListProductReviewsRequest} message ListProductReviewsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListProductReviewsRequest.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 ListProductReviewsRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IListProductReviewsRequest} message ListProductReviewsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListProductReviewsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListProductReviewsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest} ListProductReviewsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListProductReviewsRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest();
+ 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 ListProductReviewsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest} ListProductReviewsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListProductReviewsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListProductReviewsRequest message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListProductReviewsRequest.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 ListProductReviewsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest} ListProductReviewsRequest
+ */
+ ListProductReviewsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest();
+ 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 ListProductReviewsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest} message ListProductReviewsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListProductReviewsRequest.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 ListProductReviewsRequest to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListProductReviewsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListProductReviewsRequest
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListProductReviewsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest";
+ };
+
+ return ListProductReviewsRequest;
+ })();
+
+ v1beta.InsertProductReviewRequest = (function() {
+
+ /**
+ * Properties of an InsertProductReviewRequest.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @interface IInsertProductReviewRequest
+ * @property {string|null} [parent] InsertProductReviewRequest parent
+ * @property {google.shopping.merchant.reviews.v1beta.IProductReview|null} [productReview] InsertProductReviewRequest productReview
+ * @property {string|null} [dataSource] InsertProductReviewRequest dataSource
+ */
+
+ /**
+ * Constructs a new InsertProductReviewRequest.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @classdesc Represents an InsertProductReviewRequest.
+ * @implements IInsertProductReviewRequest
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.IInsertProductReviewRequest=} [properties] Properties to set
+ */
+ function InsertProductReviewRequest(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]];
+ }
+
+ /**
+ * InsertProductReviewRequest parent.
+ * @member {string} parent
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest
+ * @instance
+ */
+ InsertProductReviewRequest.prototype.parent = "";
+
+ /**
+ * InsertProductReviewRequest productReview.
+ * @member {google.shopping.merchant.reviews.v1beta.IProductReview|null|undefined} productReview
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest
+ * @instance
+ */
+ InsertProductReviewRequest.prototype.productReview = null;
+
+ /**
+ * InsertProductReviewRequest dataSource.
+ * @member {string} dataSource
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest
+ * @instance
+ */
+ InsertProductReviewRequest.prototype.dataSource = "";
+
+ /**
+ * Creates a new InsertProductReviewRequest instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IInsertProductReviewRequest=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest} InsertProductReviewRequest instance
+ */
+ InsertProductReviewRequest.create = function create(properties) {
+ return new InsertProductReviewRequest(properties);
+ };
+
+ /**
+ * Encodes the specified InsertProductReviewRequest message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IInsertProductReviewRequest} message InsertProductReviewRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InsertProductReviewRequest.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.productReview != null && Object.hasOwnProperty.call(message, "productReview"))
+ $root.google.shopping.merchant.reviews.v1beta.ProductReview.encode(message.productReview, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.dataSource != null && Object.hasOwnProperty.call(message, "dataSource"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.dataSource);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified InsertProductReviewRequest message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IInsertProductReviewRequest} message InsertProductReviewRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InsertProductReviewRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an InsertProductReviewRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest} InsertProductReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InsertProductReviewRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.productReview = $root.google.shopping.merchant.reviews.v1beta.ProductReview.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.dataSource = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an InsertProductReviewRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest} InsertProductReviewRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InsertProductReviewRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an InsertProductReviewRequest message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ InsertProductReviewRequest.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.productReview != null && message.hasOwnProperty("productReview")) {
+ var error = $root.google.shopping.merchant.reviews.v1beta.ProductReview.verify(message.productReview);
+ if (error)
+ return "productReview." + error;
+ }
+ if (message.dataSource != null && message.hasOwnProperty("dataSource"))
+ if (!$util.isString(message.dataSource))
+ return "dataSource: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an InsertProductReviewRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest} InsertProductReviewRequest
+ */
+ InsertProductReviewRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.productReview != null) {
+ if (typeof object.productReview !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest.productReview: object expected");
+ message.productReview = $root.google.shopping.merchant.reviews.v1beta.ProductReview.fromObject(object.productReview);
+ }
+ if (object.dataSource != null)
+ message.dataSource = String(object.dataSource);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an InsertProductReviewRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest} message InsertProductReviewRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ InsertProductReviewRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.productReview = null;
+ object.dataSource = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.productReview != null && message.hasOwnProperty("productReview"))
+ object.productReview = $root.google.shopping.merchant.reviews.v1beta.ProductReview.toObject(message.productReview, options);
+ if (message.dataSource != null && message.hasOwnProperty("dataSource"))
+ object.dataSource = message.dataSource;
+ return object;
+ };
+
+ /**
+ * Converts this InsertProductReviewRequest to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ InsertProductReviewRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for InsertProductReviewRequest
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ InsertProductReviewRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.InsertProductReviewRequest";
+ };
+
+ return InsertProductReviewRequest;
+ })();
+
+ v1beta.ListProductReviewsResponse = (function() {
+
+ /**
+ * Properties of a ListProductReviewsResponse.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @interface IListProductReviewsResponse
+ * @property {Array.|null} [productReviews] ListProductReviewsResponse productReviews
+ * @property {string|null} [nextPageToken] ListProductReviewsResponse nextPageToken
+ */
+
+ /**
+ * Constructs a new ListProductReviewsResponse.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @classdesc Represents a ListProductReviewsResponse.
+ * @implements IListProductReviewsResponse
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.IListProductReviewsResponse=} [properties] Properties to set
+ */
+ function ListProductReviewsResponse(properties) {
+ this.productReviews = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListProductReviewsResponse productReviews.
+ * @member {Array.} productReviews
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse
+ * @instance
+ */
+ ListProductReviewsResponse.prototype.productReviews = $util.emptyArray;
+
+ /**
+ * ListProductReviewsResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse
+ * @instance
+ */
+ ListProductReviewsResponse.prototype.nextPageToken = "";
+
+ /**
+ * Creates a new ListProductReviewsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IListProductReviewsResponse=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse} ListProductReviewsResponse instance
+ */
+ ListProductReviewsResponse.create = function create(properties) {
+ return new ListProductReviewsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListProductReviewsResponse message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IListProductReviewsResponse} message ListProductReviewsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListProductReviewsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.productReviews != null && message.productReviews.length)
+ for (var i = 0; i < message.productReviews.length; ++i)
+ $root.google.shopping.merchant.reviews.v1beta.ProductReview.encode(message.productReviews[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 ListProductReviewsResponse message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IListProductReviewsResponse} message ListProductReviewsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListProductReviewsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListProductReviewsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse} ListProductReviewsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListProductReviewsResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.productReviews && message.productReviews.length))
+ message.productReviews = [];
+ message.productReviews.push($root.google.shopping.merchant.reviews.v1beta.ProductReview.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListProductReviewsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse} ListProductReviewsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListProductReviewsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListProductReviewsResponse message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListProductReviewsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.productReviews != null && message.hasOwnProperty("productReviews")) {
+ if (!Array.isArray(message.productReviews))
+ return "productReviews: array expected";
+ for (var i = 0; i < message.productReviews.length; ++i) {
+ var error = $root.google.shopping.merchant.reviews.v1beta.ProductReview.verify(message.productReviews[i]);
+ if (error)
+ return "productReviews." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListProductReviewsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse} ListProductReviewsResponse
+ */
+ ListProductReviewsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse();
+ if (object.productReviews) {
+ if (!Array.isArray(object.productReviews))
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse.productReviews: array expected");
+ message.productReviews = [];
+ for (var i = 0; i < object.productReviews.length; ++i) {
+ if (typeof object.productReviews[i] !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse.productReviews: object expected");
+ message.productReviews[i] = $root.google.shopping.merchant.reviews.v1beta.ProductReview.fromObject(object.productReviews[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListProductReviewsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse} message ListProductReviewsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListProductReviewsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.productReviews = [];
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.productReviews && message.productReviews.length) {
+ object.productReviews = [];
+ for (var j = 0; j < message.productReviews.length; ++j)
+ object.productReviews[j] = $root.google.shopping.merchant.reviews.v1beta.ProductReview.toObject(message.productReviews[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListProductReviewsResponse to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListProductReviewsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListProductReviewsResponse
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListProductReviewsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.ListProductReviewsResponse";
+ };
+
+ return ListProductReviewsResponse;
+ })();
+
+ v1beta.ProductReview = (function() {
+
+ /**
+ * Properties of a ProductReview.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @interface IProductReview
+ * @property {string|null} [name] ProductReview name
+ * @property {string|null} [productReviewId] ProductReview productReviewId
+ * @property {google.shopping.merchant.reviews.v1beta.IProductReviewAttributes|null} [attributes] ProductReview attributes
+ * @property {Array.|null} [customAttributes] ProductReview customAttributes
+ * @property {string|null} [dataSource] ProductReview dataSource
+ * @property {google.shopping.merchant.reviews.v1beta.IProductReviewStatus|null} [productReviewStatus] ProductReview productReviewStatus
+ */
+
+ /**
+ * Constructs a new ProductReview.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @classdesc Represents a ProductReview.
+ * @implements IProductReview
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.IProductReview=} [properties] Properties to set
+ */
+ function ProductReview(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]];
+ }
+
+ /**
+ * ProductReview name.
+ * @member {string} name
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReview
+ * @instance
+ */
+ ProductReview.prototype.name = "";
+
+ /**
+ * ProductReview productReviewId.
+ * @member {string} productReviewId
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReview
+ * @instance
+ */
+ ProductReview.prototype.productReviewId = "";
+
+ /**
+ * ProductReview attributes.
+ * @member {google.shopping.merchant.reviews.v1beta.IProductReviewAttributes|null|undefined} attributes
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReview
+ * @instance
+ */
+ ProductReview.prototype.attributes = null;
+
+ /**
+ * ProductReview customAttributes.
+ * @member {Array.} customAttributes
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReview
+ * @instance
+ */
+ ProductReview.prototype.customAttributes = $util.emptyArray;
+
+ /**
+ * ProductReview dataSource.
+ * @member {string} dataSource
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReview
+ * @instance
+ */
+ ProductReview.prototype.dataSource = "";
+
+ /**
+ * ProductReview productReviewStatus.
+ * @member {google.shopping.merchant.reviews.v1beta.IProductReviewStatus|null|undefined} productReviewStatus
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReview
+ * @instance
+ */
+ ProductReview.prototype.productReviewStatus = null;
+
+ /**
+ * Creates a new ProductReview instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReview
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IProductReview=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReview} ProductReview instance
+ */
+ ProductReview.create = function create(properties) {
+ return new ProductReview(properties);
+ };
+
+ /**
+ * Encodes the specified ProductReview message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReview.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReview
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IProductReview} message ProductReview message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ProductReview.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.productReviewId != null && Object.hasOwnProperty.call(message, "productReviewId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.productReviewId);
+ if (message.attributes != null && Object.hasOwnProperty.call(message, "attributes"))
+ $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.encode(message.attributes, writer.uint32(/* id 3, wireType 2 =*/26).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 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.dataSource != null && Object.hasOwnProperty.call(message, "dataSource"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.dataSource);
+ if (message.productReviewStatus != null && Object.hasOwnProperty.call(message, "productReviewStatus"))
+ $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.encode(message.productReviewStatus, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ProductReview message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReview.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReview
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IProductReview} message ProductReview message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ProductReview.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ProductReview message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReview
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReview} ProductReview
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ProductReview.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.ProductReview();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.productReviewId = reader.string();
+ break;
+ }
+ case 3: {
+ message.attributes = $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ if (!(message.customAttributes && message.customAttributes.length))
+ message.customAttributes = [];
+ message.customAttributes.push($root.google.shopping.type.CustomAttribute.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ message.dataSource = reader.string();
+ break;
+ }
+ case 6: {
+ message.productReviewStatus = $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ProductReview message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReview
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReview} ProductReview
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ProductReview.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ProductReview message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReview
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ProductReview.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.productReviewId != null && message.hasOwnProperty("productReviewId"))
+ if (!$util.isString(message.productReviewId))
+ return "productReviewId: string expected";
+ if (message.attributes != null && message.hasOwnProperty("attributes")) {
+ var error = $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.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.dataSource != null && message.hasOwnProperty("dataSource"))
+ if (!$util.isString(message.dataSource))
+ return "dataSource: string expected";
+ if (message.productReviewStatus != null && message.hasOwnProperty("productReviewStatus")) {
+ var error = $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.verify(message.productReviewStatus);
+ if (error)
+ return "productReviewStatus." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ProductReview message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReview
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReview} ProductReview
+ */
+ ProductReview.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.ProductReview)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.ProductReview();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.productReviewId != null)
+ message.productReviewId = String(object.productReviewId);
+ if (object.attributes != null) {
+ if (typeof object.attributes !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReview.attributes: object expected");
+ message.attributes = $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.fromObject(object.attributes);
+ }
+ if (object.customAttributes) {
+ if (!Array.isArray(object.customAttributes))
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReview.customAttributes: array expected");
+ message.customAttributes = [];
+ for (var i = 0; i < object.customAttributes.length; ++i) {
+ if (typeof object.customAttributes[i] !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReview.customAttributes: object expected");
+ message.customAttributes[i] = $root.google.shopping.type.CustomAttribute.fromObject(object.customAttributes[i]);
+ }
+ }
+ if (object.dataSource != null)
+ message.dataSource = String(object.dataSource);
+ if (object.productReviewStatus != null) {
+ if (typeof object.productReviewStatus !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReview.productReviewStatus: object expected");
+ message.productReviewStatus = $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.fromObject(object.productReviewStatus);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ProductReview message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReview
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReview} message ProductReview
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ProductReview.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.customAttributes = [];
+ if (options.defaults) {
+ object.name = "";
+ object.productReviewId = "";
+ object.attributes = null;
+ object.dataSource = "";
+ object.productReviewStatus = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.productReviewId != null && message.hasOwnProperty("productReviewId"))
+ object.productReviewId = message.productReviewId;
+ if (message.attributes != null && message.hasOwnProperty("attributes"))
+ object.attributes = $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.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.dataSource != null && message.hasOwnProperty("dataSource"))
+ object.dataSource = message.dataSource;
+ if (message.productReviewStatus != null && message.hasOwnProperty("productReviewStatus"))
+ object.productReviewStatus = $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.toObject(message.productReviewStatus, options);
+ return object;
+ };
+
+ /**
+ * Converts this ProductReview to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReview
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ProductReview.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ProductReview
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReview
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ProductReview.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.ProductReview";
+ };
+
+ return ProductReview;
+ })();
+
+ v1beta.ProductReviewAttributes = (function() {
+
+ /**
+ * Properties of a ProductReviewAttributes.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @interface IProductReviewAttributes
+ * @property {string|null} [aggregatorName] ProductReviewAttributes aggregatorName
+ * @property {string|null} [subclientName] ProductReviewAttributes subclientName
+ * @property {string|null} [publisherName] ProductReviewAttributes publisherName
+ * @property {string|null} [publisherFavicon] ProductReviewAttributes publisherFavicon
+ * @property {string|null} [reviewerId] ProductReviewAttributes reviewerId
+ * @property {boolean|null} [reviewerIsAnonymous] ProductReviewAttributes reviewerIsAnonymous
+ * @property {string|null} [reviewerUsername] ProductReviewAttributes reviewerUsername
+ * @property {string|null} [reviewLanguage] ProductReviewAttributes reviewLanguage
+ * @property {string|null} [reviewCountry] ProductReviewAttributes reviewCountry
+ * @property {google.protobuf.ITimestamp|null} [reviewTime] ProductReviewAttributes reviewTime
+ * @property {string|null} [title] ProductReviewAttributes title
+ * @property {string|null} [content] ProductReviewAttributes content
+ * @property {Array.|null} [pros] ProductReviewAttributes pros
+ * @property {Array.|null} [cons] ProductReviewAttributes cons
+ * @property {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.IReviewLink|null} [reviewLink] ProductReviewAttributes reviewLink
+ * @property {Array.|null} [reviewerImageLinks] ProductReviewAttributes reviewerImageLinks
+ * @property {number|Long|null} [minRating] ProductReviewAttributes minRating
+ * @property {number|Long|null} [maxRating] ProductReviewAttributes maxRating
+ * @property {number|null} [rating] ProductReviewAttributes rating
+ * @property {Array.|null} [productNames] ProductReviewAttributes productNames
+ * @property {Array.|null} [productLinks] ProductReviewAttributes productLinks
+ * @property {Array.|null} [asins] ProductReviewAttributes asins
+ * @property {Array.|null} [gtins] ProductReviewAttributes gtins
+ * @property {Array.|null} [mpns] ProductReviewAttributes mpns
+ * @property {Array.|null} [skus] ProductReviewAttributes skus
+ * @property {Array.|null} [brands] ProductReviewAttributes brands
+ * @property {boolean|null} [isSpam] ProductReviewAttributes isSpam
+ * @property {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.CollectionMethod|null} [collectionMethod] ProductReviewAttributes collectionMethod
+ * @property {string|null} [transactionId] ProductReviewAttributes transactionId
+ */
+
+ /**
+ * Constructs a new ProductReviewAttributes.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @classdesc Represents a ProductReviewAttributes.
+ * @implements IProductReviewAttributes
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.IProductReviewAttributes=} [properties] Properties to set
+ */
+ function ProductReviewAttributes(properties) {
+ this.pros = [];
+ this.cons = [];
+ this.reviewerImageLinks = [];
+ this.productNames = [];
+ this.productLinks = [];
+ this.asins = [];
+ this.gtins = [];
+ this.mpns = [];
+ this.skus = [];
+ this.brands = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ProductReviewAttributes aggregatorName.
+ * @member {string|null|undefined} aggregatorName
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.aggregatorName = null;
+
+ /**
+ * ProductReviewAttributes subclientName.
+ * @member {string|null|undefined} subclientName
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.subclientName = null;
+
+ /**
+ * ProductReviewAttributes publisherName.
+ * @member {string|null|undefined} publisherName
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.publisherName = null;
+
+ /**
+ * ProductReviewAttributes publisherFavicon.
+ * @member {string|null|undefined} publisherFavicon
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.publisherFavicon = null;
+
+ /**
+ * ProductReviewAttributes reviewerId.
+ * @member {string|null|undefined} reviewerId
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.reviewerId = null;
+
+ /**
+ * ProductReviewAttributes reviewerIsAnonymous.
+ * @member {boolean|null|undefined} reviewerIsAnonymous
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.reviewerIsAnonymous = null;
+
+ /**
+ * ProductReviewAttributes reviewerUsername.
+ * @member {string|null|undefined} reviewerUsername
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.reviewerUsername = null;
+
+ /**
+ * ProductReviewAttributes reviewLanguage.
+ * @member {string|null|undefined} reviewLanguage
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.reviewLanguage = null;
+
+ /**
+ * ProductReviewAttributes reviewCountry.
+ * @member {string|null|undefined} reviewCountry
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.reviewCountry = null;
+
+ /**
+ * ProductReviewAttributes reviewTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} reviewTime
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.reviewTime = null;
+
+ /**
+ * ProductReviewAttributes title.
+ * @member {string|null|undefined} title
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.title = null;
+
+ /**
+ * ProductReviewAttributes content.
+ * @member {string|null|undefined} content
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.content = null;
+
+ /**
+ * ProductReviewAttributes pros.
+ * @member {Array.} pros
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.pros = $util.emptyArray;
+
+ /**
+ * ProductReviewAttributes cons.
+ * @member {Array.} cons
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.cons = $util.emptyArray;
+
+ /**
+ * ProductReviewAttributes reviewLink.
+ * @member {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.IReviewLink|null|undefined} reviewLink
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.reviewLink = null;
+
+ /**
+ * ProductReviewAttributes reviewerImageLinks.
+ * @member {Array.} reviewerImageLinks
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.reviewerImageLinks = $util.emptyArray;
+
+ /**
+ * ProductReviewAttributes minRating.
+ * @member {number|Long|null|undefined} minRating
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.minRating = null;
+
+ /**
+ * ProductReviewAttributes maxRating.
+ * @member {number|Long|null|undefined} maxRating
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.maxRating = null;
+
+ /**
+ * ProductReviewAttributes rating.
+ * @member {number|null|undefined} rating
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.rating = null;
+
+ /**
+ * ProductReviewAttributes productNames.
+ * @member {Array.} productNames
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.productNames = $util.emptyArray;
+
+ /**
+ * ProductReviewAttributes productLinks.
+ * @member {Array.} productLinks
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.productLinks = $util.emptyArray;
+
+ /**
+ * ProductReviewAttributes asins.
+ * @member {Array.} asins
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.asins = $util.emptyArray;
+
+ /**
+ * ProductReviewAttributes gtins.
+ * @member {Array.} gtins
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.gtins = $util.emptyArray;
+
+ /**
+ * ProductReviewAttributes mpns.
+ * @member {Array.} mpns
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.mpns = $util.emptyArray;
+
+ /**
+ * ProductReviewAttributes skus.
+ * @member {Array.} skus
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.skus = $util.emptyArray;
+
+ /**
+ * ProductReviewAttributes brands.
+ * @member {Array.} brands
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.brands = $util.emptyArray;
+
+ /**
+ * ProductReviewAttributes isSpam.
+ * @member {boolean|null|undefined} isSpam
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.isSpam = null;
+
+ /**
+ * ProductReviewAttributes collectionMethod.
+ * @member {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.CollectionMethod} collectionMethod
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.collectionMethod = 0;
+
+ /**
+ * ProductReviewAttributes transactionId.
+ * @member {string} transactionId
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ ProductReviewAttributes.prototype.transactionId = "";
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * ProductReviewAttributes _aggregatorName.
+ * @member {"aggregatorName"|undefined} _aggregatorName
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(ProductReviewAttributes.prototype, "_aggregatorName", {
+ get: $util.oneOfGetter($oneOfFields = ["aggregatorName"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * ProductReviewAttributes _subclientName.
+ * @member {"subclientName"|undefined} _subclientName
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(ProductReviewAttributes.prototype, "_subclientName", {
+ get: $util.oneOfGetter($oneOfFields = ["subclientName"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * ProductReviewAttributes _publisherName.
+ * @member {"publisherName"|undefined} _publisherName
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(ProductReviewAttributes.prototype, "_publisherName", {
+ get: $util.oneOfGetter($oneOfFields = ["publisherName"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * ProductReviewAttributes _publisherFavicon.
+ * @member {"publisherFavicon"|undefined} _publisherFavicon
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(ProductReviewAttributes.prototype, "_publisherFavicon", {
+ get: $util.oneOfGetter($oneOfFields = ["publisherFavicon"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * ProductReviewAttributes _reviewerId.
+ * @member {"reviewerId"|undefined} _reviewerId
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(ProductReviewAttributes.prototype, "_reviewerId", {
+ get: $util.oneOfGetter($oneOfFields = ["reviewerId"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * ProductReviewAttributes _reviewerIsAnonymous.
+ * @member {"reviewerIsAnonymous"|undefined} _reviewerIsAnonymous
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(ProductReviewAttributes.prototype, "_reviewerIsAnonymous", {
+ get: $util.oneOfGetter($oneOfFields = ["reviewerIsAnonymous"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * ProductReviewAttributes _reviewerUsername.
+ * @member {"reviewerUsername"|undefined} _reviewerUsername
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(ProductReviewAttributes.prototype, "_reviewerUsername", {
+ get: $util.oneOfGetter($oneOfFields = ["reviewerUsername"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * ProductReviewAttributes _reviewLanguage.
+ * @member {"reviewLanguage"|undefined} _reviewLanguage
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(ProductReviewAttributes.prototype, "_reviewLanguage", {
+ get: $util.oneOfGetter($oneOfFields = ["reviewLanguage"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * ProductReviewAttributes _reviewCountry.
+ * @member {"reviewCountry"|undefined} _reviewCountry
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(ProductReviewAttributes.prototype, "_reviewCountry", {
+ get: $util.oneOfGetter($oneOfFields = ["reviewCountry"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * ProductReviewAttributes _title.
+ * @member {"title"|undefined} _title
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(ProductReviewAttributes.prototype, "_title", {
+ get: $util.oneOfGetter($oneOfFields = ["title"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * ProductReviewAttributes _content.
+ * @member {"content"|undefined} _content
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(ProductReviewAttributes.prototype, "_content", {
+ get: $util.oneOfGetter($oneOfFields = ["content"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * ProductReviewAttributes _minRating.
+ * @member {"minRating"|undefined} _minRating
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(ProductReviewAttributes.prototype, "_minRating", {
+ get: $util.oneOfGetter($oneOfFields = ["minRating"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * ProductReviewAttributes _maxRating.
+ * @member {"maxRating"|undefined} _maxRating
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(ProductReviewAttributes.prototype, "_maxRating", {
+ get: $util.oneOfGetter($oneOfFields = ["maxRating"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * ProductReviewAttributes _rating.
+ * @member {"rating"|undefined} _rating
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(ProductReviewAttributes.prototype, "_rating", {
+ get: $util.oneOfGetter($oneOfFields = ["rating"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * ProductReviewAttributes _isSpam.
+ * @member {"isSpam"|undefined} _isSpam
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ */
+ Object.defineProperty(ProductReviewAttributes.prototype, "_isSpam", {
+ get: $util.oneOfGetter($oneOfFields = ["isSpam"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new ProductReviewAttributes instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IProductReviewAttributes=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes} ProductReviewAttributes instance
+ */
+ ProductReviewAttributes.create = function create(properties) {
+ return new ProductReviewAttributes(properties);
+ };
+
+ /**
+ * Encodes the specified ProductReviewAttributes message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IProductReviewAttributes} message ProductReviewAttributes message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ProductReviewAttributes.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.aggregatorName != null && Object.hasOwnProperty.call(message, "aggregatorName"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.aggregatorName);
+ if (message.subclientName != null && Object.hasOwnProperty.call(message, "subclientName"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.subclientName);
+ if (message.publisherName != null && Object.hasOwnProperty.call(message, "publisherName"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.publisherName);
+ if (message.publisherFavicon != null && Object.hasOwnProperty.call(message, "publisherFavicon"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.publisherFavicon);
+ if (message.reviewerId != null && Object.hasOwnProperty.call(message, "reviewerId"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.reviewerId);
+ if (message.reviewerIsAnonymous != null && Object.hasOwnProperty.call(message, "reviewerIsAnonymous"))
+ writer.uint32(/* id 6, wireType 0 =*/48).bool(message.reviewerIsAnonymous);
+ if (message.reviewerUsername != null && Object.hasOwnProperty.call(message, "reviewerUsername"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.reviewerUsername);
+ if (message.reviewLanguage != null && Object.hasOwnProperty.call(message, "reviewLanguage"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.reviewLanguage);
+ if (message.reviewCountry != null && Object.hasOwnProperty.call(message, "reviewCountry"))
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.reviewCountry);
+ if (message.reviewTime != null && Object.hasOwnProperty.call(message, "reviewTime"))
+ $root.google.protobuf.Timestamp.encode(message.reviewTime, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
+ if (message.title != null && Object.hasOwnProperty.call(message, "title"))
+ writer.uint32(/* id 11, wireType 2 =*/90).string(message.title);
+ if (message.content != null && Object.hasOwnProperty.call(message, "content"))
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.content);
+ if (message.pros != null && message.pros.length)
+ for (var i = 0; i < message.pros.length; ++i)
+ writer.uint32(/* id 13, wireType 2 =*/106).string(message.pros[i]);
+ if (message.cons != null && message.cons.length)
+ for (var i = 0; i < message.cons.length; ++i)
+ writer.uint32(/* id 14, wireType 2 =*/114).string(message.cons[i]);
+ if (message.reviewLink != null && Object.hasOwnProperty.call(message, "reviewLink"))
+ $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink.encode(message.reviewLink, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim();
+ if (message.reviewerImageLinks != null && message.reviewerImageLinks.length)
+ for (var i = 0; i < message.reviewerImageLinks.length; ++i)
+ writer.uint32(/* id 16, wireType 2 =*/130).string(message.reviewerImageLinks[i]);
+ if (message.minRating != null && Object.hasOwnProperty.call(message, "minRating"))
+ writer.uint32(/* id 17, wireType 0 =*/136).int64(message.minRating);
+ if (message.maxRating != null && Object.hasOwnProperty.call(message, "maxRating"))
+ writer.uint32(/* id 18, wireType 0 =*/144).int64(message.maxRating);
+ if (message.rating != null && Object.hasOwnProperty.call(message, "rating"))
+ writer.uint32(/* id 19, wireType 1 =*/153).double(message.rating);
+ if (message.productNames != null && message.productNames.length)
+ for (var i = 0; i < message.productNames.length; ++i)
+ writer.uint32(/* id 20, wireType 2 =*/162).string(message.productNames[i]);
+ if (message.productLinks != null && message.productLinks.length)
+ for (var i = 0; i < message.productLinks.length; ++i)
+ writer.uint32(/* id 21, wireType 2 =*/170).string(message.productLinks[i]);
+ if (message.asins != null && message.asins.length)
+ for (var i = 0; i < message.asins.length; ++i)
+ writer.uint32(/* id 22, wireType 2 =*/178).string(message.asins[i]);
+ if (message.gtins != null && message.gtins.length)
+ for (var i = 0; i < message.gtins.length; ++i)
+ writer.uint32(/* id 23, wireType 2 =*/186).string(message.gtins[i]);
+ if (message.mpns != null && message.mpns.length)
+ for (var i = 0; i < message.mpns.length; ++i)
+ writer.uint32(/* id 24, wireType 2 =*/194).string(message.mpns[i]);
+ if (message.skus != null && message.skus.length)
+ for (var i = 0; i < message.skus.length; ++i)
+ writer.uint32(/* id 25, wireType 2 =*/202).string(message.skus[i]);
+ if (message.brands != null && message.brands.length)
+ for (var i = 0; i < message.brands.length; ++i)
+ writer.uint32(/* id 26, wireType 2 =*/210).string(message.brands[i]);
+ if (message.isSpam != null && Object.hasOwnProperty.call(message, "isSpam"))
+ writer.uint32(/* id 27, wireType 0 =*/216).bool(message.isSpam);
+ if (message.collectionMethod != null && Object.hasOwnProperty.call(message, "collectionMethod"))
+ writer.uint32(/* id 28, wireType 0 =*/224).int32(message.collectionMethod);
+ if (message.transactionId != null && Object.hasOwnProperty.call(message, "transactionId"))
+ writer.uint32(/* id 29, wireType 2 =*/234).string(message.transactionId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ProductReviewAttributes message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IProductReviewAttributes} message ProductReviewAttributes message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ProductReviewAttributes.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ProductReviewAttributes message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes} ProductReviewAttributes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ProductReviewAttributes.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.aggregatorName = reader.string();
+ break;
+ }
+ case 2: {
+ message.subclientName = reader.string();
+ break;
+ }
+ case 3: {
+ message.publisherName = reader.string();
+ break;
+ }
+ case 4: {
+ message.publisherFavicon = reader.string();
+ break;
+ }
+ case 5: {
+ message.reviewerId = reader.string();
+ break;
+ }
+ case 6: {
+ message.reviewerIsAnonymous = reader.bool();
+ break;
+ }
+ case 7: {
+ message.reviewerUsername = reader.string();
+ break;
+ }
+ case 8: {
+ message.reviewLanguage = reader.string();
+ break;
+ }
+ case 9: {
+ message.reviewCountry = reader.string();
+ break;
+ }
+ case 10: {
+ message.reviewTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 11: {
+ message.title = reader.string();
+ break;
+ }
+ case 12: {
+ message.content = reader.string();
+ break;
+ }
+ case 13: {
+ if (!(message.pros && message.pros.length))
+ message.pros = [];
+ message.pros.push(reader.string());
+ break;
+ }
+ case 14: {
+ if (!(message.cons && message.cons.length))
+ message.cons = [];
+ message.cons.push(reader.string());
+ break;
+ }
+ case 15: {
+ message.reviewLink = $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink.decode(reader, reader.uint32());
+ break;
+ }
+ case 16: {
+ if (!(message.reviewerImageLinks && message.reviewerImageLinks.length))
+ message.reviewerImageLinks = [];
+ message.reviewerImageLinks.push(reader.string());
+ break;
+ }
+ case 17: {
+ message.minRating = reader.int64();
+ break;
+ }
+ case 18: {
+ message.maxRating = reader.int64();
+ break;
+ }
+ case 19: {
+ message.rating = reader.double();
+ break;
+ }
+ case 20: {
+ if (!(message.productNames && message.productNames.length))
+ message.productNames = [];
+ message.productNames.push(reader.string());
+ break;
+ }
+ case 21: {
+ if (!(message.productLinks && message.productLinks.length))
+ message.productLinks = [];
+ message.productLinks.push(reader.string());
+ break;
+ }
+ case 22: {
+ if (!(message.asins && message.asins.length))
+ message.asins = [];
+ message.asins.push(reader.string());
+ break;
+ }
+ case 23: {
+ if (!(message.gtins && message.gtins.length))
+ message.gtins = [];
+ message.gtins.push(reader.string());
+ break;
+ }
+ case 24: {
+ if (!(message.mpns && message.mpns.length))
+ message.mpns = [];
+ message.mpns.push(reader.string());
+ break;
+ }
+ case 25: {
+ if (!(message.skus && message.skus.length))
+ message.skus = [];
+ message.skus.push(reader.string());
+ break;
+ }
+ case 26: {
+ if (!(message.brands && message.brands.length))
+ message.brands = [];
+ message.brands.push(reader.string());
+ break;
+ }
+ case 27: {
+ message.isSpam = reader.bool();
+ break;
+ }
+ case 28: {
+ message.collectionMethod = reader.int32();
+ break;
+ }
+ case 29: {
+ message.transactionId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ProductReviewAttributes message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes} ProductReviewAttributes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ProductReviewAttributes.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ProductReviewAttributes message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ProductReviewAttributes.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.aggregatorName != null && message.hasOwnProperty("aggregatorName")) {
+ properties._aggregatorName = 1;
+ if (!$util.isString(message.aggregatorName))
+ return "aggregatorName: string expected";
+ }
+ if (message.subclientName != null && message.hasOwnProperty("subclientName")) {
+ properties._subclientName = 1;
+ if (!$util.isString(message.subclientName))
+ return "subclientName: string expected";
+ }
+ if (message.publisherName != null && message.hasOwnProperty("publisherName")) {
+ properties._publisherName = 1;
+ if (!$util.isString(message.publisherName))
+ return "publisherName: string expected";
+ }
+ if (message.publisherFavicon != null && message.hasOwnProperty("publisherFavicon")) {
+ properties._publisherFavicon = 1;
+ if (!$util.isString(message.publisherFavicon))
+ return "publisherFavicon: string expected";
+ }
+ if (message.reviewerId != null && message.hasOwnProperty("reviewerId")) {
+ properties._reviewerId = 1;
+ if (!$util.isString(message.reviewerId))
+ return "reviewerId: string expected";
+ }
+ if (message.reviewerIsAnonymous != null && message.hasOwnProperty("reviewerIsAnonymous")) {
+ properties._reviewerIsAnonymous = 1;
+ if (typeof message.reviewerIsAnonymous !== "boolean")
+ return "reviewerIsAnonymous: boolean expected";
+ }
+ if (message.reviewerUsername != null && message.hasOwnProperty("reviewerUsername")) {
+ properties._reviewerUsername = 1;
+ if (!$util.isString(message.reviewerUsername))
+ return "reviewerUsername: string expected";
+ }
+ if (message.reviewLanguage != null && message.hasOwnProperty("reviewLanguage")) {
+ properties._reviewLanguage = 1;
+ if (!$util.isString(message.reviewLanguage))
+ return "reviewLanguage: string expected";
+ }
+ if (message.reviewCountry != null && message.hasOwnProperty("reviewCountry")) {
+ properties._reviewCountry = 1;
+ if (!$util.isString(message.reviewCountry))
+ return "reviewCountry: string expected";
+ }
+ if (message.reviewTime != null && message.hasOwnProperty("reviewTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.reviewTime);
+ if (error)
+ return "reviewTime." + error;
+ }
+ if (message.title != null && message.hasOwnProperty("title")) {
+ properties._title = 1;
+ if (!$util.isString(message.title))
+ return "title: string expected";
+ }
+ if (message.content != null && message.hasOwnProperty("content")) {
+ properties._content = 1;
+ if (!$util.isString(message.content))
+ return "content: string expected";
+ }
+ if (message.pros != null && message.hasOwnProperty("pros")) {
+ if (!Array.isArray(message.pros))
+ return "pros: array expected";
+ for (var i = 0; i < message.pros.length; ++i)
+ if (!$util.isString(message.pros[i]))
+ return "pros: string[] expected";
+ }
+ if (message.cons != null && message.hasOwnProperty("cons")) {
+ if (!Array.isArray(message.cons))
+ return "cons: array expected";
+ for (var i = 0; i < message.cons.length; ++i)
+ if (!$util.isString(message.cons[i]))
+ return "cons: string[] expected";
+ }
+ if (message.reviewLink != null && message.hasOwnProperty("reviewLink")) {
+ var error = $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink.verify(message.reviewLink);
+ if (error)
+ return "reviewLink." + error;
+ }
+ if (message.reviewerImageLinks != null && message.hasOwnProperty("reviewerImageLinks")) {
+ if (!Array.isArray(message.reviewerImageLinks))
+ return "reviewerImageLinks: array expected";
+ for (var i = 0; i < message.reviewerImageLinks.length; ++i)
+ if (!$util.isString(message.reviewerImageLinks[i]))
+ return "reviewerImageLinks: string[] expected";
+ }
+ if (message.minRating != null && message.hasOwnProperty("minRating")) {
+ properties._minRating = 1;
+ if (!$util.isInteger(message.minRating) && !(message.minRating && $util.isInteger(message.minRating.low) && $util.isInteger(message.minRating.high)))
+ return "minRating: integer|Long expected";
+ }
+ if (message.maxRating != null && message.hasOwnProperty("maxRating")) {
+ properties._maxRating = 1;
+ if (!$util.isInteger(message.maxRating) && !(message.maxRating && $util.isInteger(message.maxRating.low) && $util.isInteger(message.maxRating.high)))
+ return "maxRating: integer|Long expected";
+ }
+ if (message.rating != null && message.hasOwnProperty("rating")) {
+ properties._rating = 1;
+ if (typeof message.rating !== "number")
+ return "rating: number expected";
+ }
+ if (message.productNames != null && message.hasOwnProperty("productNames")) {
+ if (!Array.isArray(message.productNames))
+ return "productNames: array expected";
+ for (var i = 0; i < message.productNames.length; ++i)
+ if (!$util.isString(message.productNames[i]))
+ return "productNames: string[] expected";
+ }
+ if (message.productLinks != null && message.hasOwnProperty("productLinks")) {
+ if (!Array.isArray(message.productLinks))
+ return "productLinks: array expected";
+ for (var i = 0; i < message.productLinks.length; ++i)
+ if (!$util.isString(message.productLinks[i]))
+ return "productLinks: string[] expected";
+ }
+ if (message.asins != null && message.hasOwnProperty("asins")) {
+ if (!Array.isArray(message.asins))
+ return "asins: array expected";
+ for (var i = 0; i < message.asins.length; ++i)
+ if (!$util.isString(message.asins[i]))
+ return "asins: string[] expected";
+ }
+ if (message.gtins != null && message.hasOwnProperty("gtins")) {
+ if (!Array.isArray(message.gtins))
+ return "gtins: array expected";
+ for (var i = 0; i < message.gtins.length; ++i)
+ if (!$util.isString(message.gtins[i]))
+ return "gtins: string[] expected";
+ }
+ if (message.mpns != null && message.hasOwnProperty("mpns")) {
+ if (!Array.isArray(message.mpns))
+ return "mpns: array expected";
+ for (var i = 0; i < message.mpns.length; ++i)
+ if (!$util.isString(message.mpns[i]))
+ return "mpns: string[] expected";
+ }
+ if (message.skus != null && message.hasOwnProperty("skus")) {
+ if (!Array.isArray(message.skus))
+ return "skus: array expected";
+ for (var i = 0; i < message.skus.length; ++i)
+ if (!$util.isString(message.skus[i]))
+ return "skus: string[] expected";
+ }
+ if (message.brands != null && message.hasOwnProperty("brands")) {
+ if (!Array.isArray(message.brands))
+ return "brands: array expected";
+ for (var i = 0; i < message.brands.length; ++i)
+ if (!$util.isString(message.brands[i]))
+ return "brands: string[] expected";
+ }
+ if (message.isSpam != null && message.hasOwnProperty("isSpam")) {
+ properties._isSpam = 1;
+ if (typeof message.isSpam !== "boolean")
+ return "isSpam: boolean expected";
+ }
+ if (message.collectionMethod != null && message.hasOwnProperty("collectionMethod"))
+ switch (message.collectionMethod) {
+ default:
+ return "collectionMethod: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.transactionId != null && message.hasOwnProperty("transactionId"))
+ if (!$util.isString(message.transactionId))
+ return "transactionId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ProductReviewAttributes message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes} ProductReviewAttributes
+ */
+ ProductReviewAttributes.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes();
+ if (object.aggregatorName != null)
+ message.aggregatorName = String(object.aggregatorName);
+ if (object.subclientName != null)
+ message.subclientName = String(object.subclientName);
+ if (object.publisherName != null)
+ message.publisherName = String(object.publisherName);
+ if (object.publisherFavicon != null)
+ message.publisherFavicon = String(object.publisherFavicon);
+ if (object.reviewerId != null)
+ message.reviewerId = String(object.reviewerId);
+ if (object.reviewerIsAnonymous != null)
+ message.reviewerIsAnonymous = Boolean(object.reviewerIsAnonymous);
+ if (object.reviewerUsername != null)
+ message.reviewerUsername = String(object.reviewerUsername);
+ if (object.reviewLanguage != null)
+ message.reviewLanguage = String(object.reviewLanguage);
+ if (object.reviewCountry != null)
+ message.reviewCountry = String(object.reviewCountry);
+ if (object.reviewTime != null) {
+ if (typeof object.reviewTime !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.reviewTime: object expected");
+ message.reviewTime = $root.google.protobuf.Timestamp.fromObject(object.reviewTime);
+ }
+ if (object.title != null)
+ message.title = String(object.title);
+ if (object.content != null)
+ message.content = String(object.content);
+ if (object.pros) {
+ if (!Array.isArray(object.pros))
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.pros: array expected");
+ message.pros = [];
+ for (var i = 0; i < object.pros.length; ++i)
+ message.pros[i] = String(object.pros[i]);
+ }
+ if (object.cons) {
+ if (!Array.isArray(object.cons))
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.cons: array expected");
+ message.cons = [];
+ for (var i = 0; i < object.cons.length; ++i)
+ message.cons[i] = String(object.cons[i]);
+ }
+ if (object.reviewLink != null) {
+ if (typeof object.reviewLink !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.reviewLink: object expected");
+ message.reviewLink = $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink.fromObject(object.reviewLink);
+ }
+ if (object.reviewerImageLinks) {
+ if (!Array.isArray(object.reviewerImageLinks))
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.reviewerImageLinks: array expected");
+ message.reviewerImageLinks = [];
+ for (var i = 0; i < object.reviewerImageLinks.length; ++i)
+ message.reviewerImageLinks[i] = String(object.reviewerImageLinks[i]);
+ }
+ if (object.minRating != null)
+ if ($util.Long)
+ (message.minRating = $util.Long.fromValue(object.minRating)).unsigned = false;
+ else if (typeof object.minRating === "string")
+ message.minRating = parseInt(object.minRating, 10);
+ else if (typeof object.minRating === "number")
+ message.minRating = object.minRating;
+ else if (typeof object.minRating === "object")
+ message.minRating = new $util.LongBits(object.minRating.low >>> 0, object.minRating.high >>> 0).toNumber();
+ if (object.maxRating != null)
+ if ($util.Long)
+ (message.maxRating = $util.Long.fromValue(object.maxRating)).unsigned = false;
+ else if (typeof object.maxRating === "string")
+ message.maxRating = parseInt(object.maxRating, 10);
+ else if (typeof object.maxRating === "number")
+ message.maxRating = object.maxRating;
+ else if (typeof object.maxRating === "object")
+ message.maxRating = new $util.LongBits(object.maxRating.low >>> 0, object.maxRating.high >>> 0).toNumber();
+ if (object.rating != null)
+ message.rating = Number(object.rating);
+ if (object.productNames) {
+ if (!Array.isArray(object.productNames))
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.productNames: array expected");
+ message.productNames = [];
+ for (var i = 0; i < object.productNames.length; ++i)
+ message.productNames[i] = String(object.productNames[i]);
+ }
+ if (object.productLinks) {
+ if (!Array.isArray(object.productLinks))
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.productLinks: array expected");
+ message.productLinks = [];
+ for (var i = 0; i < object.productLinks.length; ++i)
+ message.productLinks[i] = String(object.productLinks[i]);
+ }
+ if (object.asins) {
+ if (!Array.isArray(object.asins))
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.asins: array expected");
+ message.asins = [];
+ for (var i = 0; i < object.asins.length; ++i)
+ message.asins[i] = String(object.asins[i]);
+ }
+ if (object.gtins) {
+ if (!Array.isArray(object.gtins))
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.gtins: array expected");
+ message.gtins = [];
+ for (var i = 0; i < object.gtins.length; ++i)
+ message.gtins[i] = String(object.gtins[i]);
+ }
+ if (object.mpns) {
+ if (!Array.isArray(object.mpns))
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.mpns: array expected");
+ message.mpns = [];
+ for (var i = 0; i < object.mpns.length; ++i)
+ message.mpns[i] = String(object.mpns[i]);
+ }
+ if (object.skus) {
+ if (!Array.isArray(object.skus))
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.skus: array expected");
+ message.skus = [];
+ for (var i = 0; i < object.skus.length; ++i)
+ message.skus[i] = String(object.skus[i]);
+ }
+ if (object.brands) {
+ if (!Array.isArray(object.brands))
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.brands: array expected");
+ message.brands = [];
+ for (var i = 0; i < object.brands.length; ++i)
+ message.brands[i] = String(object.brands[i]);
+ }
+ if (object.isSpam != null)
+ message.isSpam = Boolean(object.isSpam);
+ switch (object.collectionMethod) {
+ default:
+ if (typeof object.collectionMethod === "number") {
+ message.collectionMethod = object.collectionMethod;
+ break;
+ }
+ break;
+ case "COLLECTION_METHOD_UNSPECIFIED":
+ case 0:
+ message.collectionMethod = 0;
+ break;
+ case "UNSOLICITED":
+ case 1:
+ message.collectionMethod = 1;
+ break;
+ case "POST_FULFILLMENT":
+ case 2:
+ message.collectionMethod = 2;
+ break;
+ }
+ if (object.transactionId != null)
+ message.transactionId = String(object.transactionId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ProductReviewAttributes message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes} message ProductReviewAttributes
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ProductReviewAttributes.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.pros = [];
+ object.cons = [];
+ object.reviewerImageLinks = [];
+ object.productNames = [];
+ object.productLinks = [];
+ object.asins = [];
+ object.gtins = [];
+ object.mpns = [];
+ object.skus = [];
+ object.brands = [];
+ }
+ if (options.defaults) {
+ object.reviewTime = null;
+ object.reviewLink = null;
+ object.collectionMethod = options.enums === String ? "COLLECTION_METHOD_UNSPECIFIED" : 0;
+ object.transactionId = "";
+ }
+ if (message.aggregatorName != null && message.hasOwnProperty("aggregatorName")) {
+ object.aggregatorName = message.aggregatorName;
+ if (options.oneofs)
+ object._aggregatorName = "aggregatorName";
+ }
+ if (message.subclientName != null && message.hasOwnProperty("subclientName")) {
+ object.subclientName = message.subclientName;
+ if (options.oneofs)
+ object._subclientName = "subclientName";
+ }
+ if (message.publisherName != null && message.hasOwnProperty("publisherName")) {
+ object.publisherName = message.publisherName;
+ if (options.oneofs)
+ object._publisherName = "publisherName";
+ }
+ if (message.publisherFavicon != null && message.hasOwnProperty("publisherFavicon")) {
+ object.publisherFavicon = message.publisherFavicon;
+ if (options.oneofs)
+ object._publisherFavicon = "publisherFavicon";
+ }
+ if (message.reviewerId != null && message.hasOwnProperty("reviewerId")) {
+ object.reviewerId = message.reviewerId;
+ if (options.oneofs)
+ object._reviewerId = "reviewerId";
+ }
+ if (message.reviewerIsAnonymous != null && message.hasOwnProperty("reviewerIsAnonymous")) {
+ object.reviewerIsAnonymous = message.reviewerIsAnonymous;
+ if (options.oneofs)
+ object._reviewerIsAnonymous = "reviewerIsAnonymous";
+ }
+ if (message.reviewerUsername != null && message.hasOwnProperty("reviewerUsername")) {
+ object.reviewerUsername = message.reviewerUsername;
+ if (options.oneofs)
+ object._reviewerUsername = "reviewerUsername";
+ }
+ if (message.reviewLanguage != null && message.hasOwnProperty("reviewLanguage")) {
+ object.reviewLanguage = message.reviewLanguage;
+ if (options.oneofs)
+ object._reviewLanguage = "reviewLanguage";
+ }
+ if (message.reviewCountry != null && message.hasOwnProperty("reviewCountry")) {
+ object.reviewCountry = message.reviewCountry;
+ if (options.oneofs)
+ object._reviewCountry = "reviewCountry";
+ }
+ if (message.reviewTime != null && message.hasOwnProperty("reviewTime"))
+ object.reviewTime = $root.google.protobuf.Timestamp.toObject(message.reviewTime, options);
+ if (message.title != null && message.hasOwnProperty("title")) {
+ object.title = message.title;
+ if (options.oneofs)
+ object._title = "title";
+ }
+ if (message.content != null && message.hasOwnProperty("content")) {
+ object.content = message.content;
+ if (options.oneofs)
+ object._content = "content";
+ }
+ if (message.pros && message.pros.length) {
+ object.pros = [];
+ for (var j = 0; j < message.pros.length; ++j)
+ object.pros[j] = message.pros[j];
+ }
+ if (message.cons && message.cons.length) {
+ object.cons = [];
+ for (var j = 0; j < message.cons.length; ++j)
+ object.cons[j] = message.cons[j];
+ }
+ if (message.reviewLink != null && message.hasOwnProperty("reviewLink"))
+ object.reviewLink = $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink.toObject(message.reviewLink, options);
+ if (message.reviewerImageLinks && message.reviewerImageLinks.length) {
+ object.reviewerImageLinks = [];
+ for (var j = 0; j < message.reviewerImageLinks.length; ++j)
+ object.reviewerImageLinks[j] = message.reviewerImageLinks[j];
+ }
+ if (message.minRating != null && message.hasOwnProperty("minRating")) {
+ if (typeof message.minRating === "number")
+ object.minRating = options.longs === String ? String(message.minRating) : message.minRating;
+ else
+ object.minRating = options.longs === String ? $util.Long.prototype.toString.call(message.minRating) : options.longs === Number ? new $util.LongBits(message.minRating.low >>> 0, message.minRating.high >>> 0).toNumber() : message.minRating;
+ if (options.oneofs)
+ object._minRating = "minRating";
+ }
+ if (message.maxRating != null && message.hasOwnProperty("maxRating")) {
+ if (typeof message.maxRating === "number")
+ object.maxRating = options.longs === String ? String(message.maxRating) : message.maxRating;
+ else
+ object.maxRating = options.longs === String ? $util.Long.prototype.toString.call(message.maxRating) : options.longs === Number ? new $util.LongBits(message.maxRating.low >>> 0, message.maxRating.high >>> 0).toNumber() : message.maxRating;
+ if (options.oneofs)
+ object._maxRating = "maxRating";
+ }
+ if (message.rating != null && message.hasOwnProperty("rating")) {
+ object.rating = options.json && !isFinite(message.rating) ? String(message.rating) : message.rating;
+ if (options.oneofs)
+ object._rating = "rating";
+ }
+ if (message.productNames && message.productNames.length) {
+ object.productNames = [];
+ for (var j = 0; j < message.productNames.length; ++j)
+ object.productNames[j] = message.productNames[j];
+ }
+ if (message.productLinks && message.productLinks.length) {
+ object.productLinks = [];
+ for (var j = 0; j < message.productLinks.length; ++j)
+ object.productLinks[j] = message.productLinks[j];
+ }
+ if (message.asins && message.asins.length) {
+ object.asins = [];
+ for (var j = 0; j < message.asins.length; ++j)
+ object.asins[j] = message.asins[j];
+ }
+ if (message.gtins && message.gtins.length) {
+ object.gtins = [];
+ for (var j = 0; j < message.gtins.length; ++j)
+ object.gtins[j] = message.gtins[j];
+ }
+ if (message.mpns && message.mpns.length) {
+ object.mpns = [];
+ for (var j = 0; j < message.mpns.length; ++j)
+ object.mpns[j] = message.mpns[j];
+ }
+ if (message.skus && message.skus.length) {
+ object.skus = [];
+ for (var j = 0; j < message.skus.length; ++j)
+ object.skus[j] = message.skus[j];
+ }
+ if (message.brands && message.brands.length) {
+ object.brands = [];
+ for (var j = 0; j < message.brands.length; ++j)
+ object.brands[j] = message.brands[j];
+ }
+ if (message.isSpam != null && message.hasOwnProperty("isSpam")) {
+ object.isSpam = message.isSpam;
+ if (options.oneofs)
+ object._isSpam = "isSpam";
+ }
+ if (message.collectionMethod != null && message.hasOwnProperty("collectionMethod"))
+ object.collectionMethod = options.enums === String ? $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.CollectionMethod[message.collectionMethod] === undefined ? message.collectionMethod : $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.CollectionMethod[message.collectionMethod] : message.collectionMethod;
+ if (message.transactionId != null && message.hasOwnProperty("transactionId"))
+ object.transactionId = message.transactionId;
+ return object;
+ };
+
+ /**
+ * Converts this ProductReviewAttributes to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ProductReviewAttributes.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ProductReviewAttributes
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ProductReviewAttributes.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.ProductReviewAttributes";
+ };
+
+ ProductReviewAttributes.ReviewLink = (function() {
+
+ /**
+ * Properties of a ReviewLink.
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @interface IReviewLink
+ * @property {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink.Type|null} [type] ReviewLink type
+ * @property {string|null} [link] ReviewLink link
+ */
+
+ /**
+ * Constructs a new ReviewLink.
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes
+ * @classdesc Represents a ReviewLink.
+ * @implements IReviewLink
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.IReviewLink=} [properties] Properties to set
+ */
+ function ReviewLink(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]];
+ }
+
+ /**
+ * ReviewLink type.
+ * @member {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink.Type} type
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink
+ * @instance
+ */
+ ReviewLink.prototype.type = 0;
+
+ /**
+ * ReviewLink link.
+ * @member {string} link
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink
+ * @instance
+ */
+ ReviewLink.prototype.link = "";
+
+ /**
+ * Creates a new ReviewLink instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.IReviewLink=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink} ReviewLink instance
+ */
+ ReviewLink.create = function create(properties) {
+ return new ReviewLink(properties);
+ };
+
+ /**
+ * Encodes the specified ReviewLink message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.IReviewLink} message ReviewLink message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ReviewLink.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type);
+ if (message.link != null && Object.hasOwnProperty.call(message, "link"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.link);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ReviewLink message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.IReviewLink} message ReviewLink message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ReviewLink.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ReviewLink message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink} ReviewLink
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ReviewLink.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.type = reader.int32();
+ break;
+ }
+ case 2: {
+ message.link = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ReviewLink message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink} ReviewLink
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ReviewLink.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ReviewLink message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ReviewLink.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.type != null && message.hasOwnProperty("type"))
+ switch (message.type) {
+ default:
+ return "type: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.link != null && message.hasOwnProperty("link"))
+ if (!$util.isString(message.link))
+ return "link: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ReviewLink message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink} ReviewLink
+ */
+ ReviewLink.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink();
+ switch (object.type) {
+ default:
+ if (typeof object.type === "number") {
+ message.type = object.type;
+ break;
+ }
+ break;
+ case "TYPE_UNSPECIFIED":
+ case 0:
+ message.type = 0;
+ break;
+ case "SINGLETON":
+ case 1:
+ message.type = 1;
+ break;
+ case "GROUP":
+ case 2:
+ message.type = 2;
+ break;
+ }
+ if (object.link != null)
+ message.link = String(object.link);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ReviewLink message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink} message ReviewLink
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ReviewLink.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.type = options.enums === String ? "TYPE_UNSPECIFIED" : 0;
+ object.link = "";
+ }
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = options.enums === String ? $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink.Type[message.type] === undefined ? message.type : $root.google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink.Type[message.type] : message.type;
+ if (message.link != null && message.hasOwnProperty("link"))
+ object.link = message.link;
+ return object;
+ };
+
+ /**
+ * Converts this ReviewLink to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ReviewLink.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ReviewLink
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ReviewLink.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink";
+ };
+
+ /**
+ * Type enum.
+ * @name google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.ReviewLink.Type
+ * @enum {number}
+ * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value
+ * @property {number} SINGLETON=1 SINGLETON value
+ * @property {number} GROUP=2 GROUP value
+ */
+ ReviewLink.Type = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "SINGLETON"] = 1;
+ values[valuesById[2] = "GROUP"] = 2;
+ return values;
+ })();
+
+ return ReviewLink;
+ })();
+
+ /**
+ * CollectionMethod enum.
+ * @name google.shopping.merchant.reviews.v1beta.ProductReviewAttributes.CollectionMethod
+ * @enum {number}
+ * @property {number} COLLECTION_METHOD_UNSPECIFIED=0 COLLECTION_METHOD_UNSPECIFIED value
+ * @property {number} UNSOLICITED=1 UNSOLICITED value
+ * @property {number} POST_FULFILLMENT=2 POST_FULFILLMENT value
+ */
+ ProductReviewAttributes.CollectionMethod = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "COLLECTION_METHOD_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "UNSOLICITED"] = 1;
+ values[valuesById[2] = "POST_FULFILLMENT"] = 2;
+ return values;
+ })();
+
+ return ProductReviewAttributes;
+ })();
+
+ v1beta.ProductReviewStatus = (function() {
+
+ /**
+ * Properties of a ProductReviewStatus.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @interface IProductReviewStatus
+ * @property {Array.|null} [destinationStatuses] ProductReviewStatus destinationStatuses
+ * @property {Array.|null} [itemLevelIssues] ProductReviewStatus itemLevelIssues
+ * @property {google.protobuf.ITimestamp|null} [createTime] ProductReviewStatus createTime
+ * @property {google.protobuf.ITimestamp|null} [lastUpdateTime] ProductReviewStatus lastUpdateTime
+ */
+
+ /**
+ * Constructs a new ProductReviewStatus.
+ * @memberof google.shopping.merchant.reviews.v1beta
+ * @classdesc Represents a ProductReviewStatus.
+ * @implements IProductReviewStatus
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.IProductReviewStatus=} [properties] Properties to set
+ */
+ function ProductReviewStatus(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]];
+ }
+
+ /**
+ * ProductReviewStatus destinationStatuses.
+ * @member {Array.} destinationStatuses
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus
+ * @instance
+ */
+ ProductReviewStatus.prototype.destinationStatuses = $util.emptyArray;
+
+ /**
+ * ProductReviewStatus itemLevelIssues.
+ * @member {Array.} itemLevelIssues
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus
+ * @instance
+ */
+ ProductReviewStatus.prototype.itemLevelIssues = $util.emptyArray;
+
+ /**
+ * ProductReviewStatus createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus
+ * @instance
+ */
+ ProductReviewStatus.prototype.createTime = null;
+
+ /**
+ * ProductReviewStatus lastUpdateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} lastUpdateTime
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus
+ * @instance
+ */
+ ProductReviewStatus.prototype.lastUpdateTime = null;
+
+ /**
+ * Creates a new ProductReviewStatus instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IProductReviewStatus=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewStatus} ProductReviewStatus instance
+ */
+ ProductReviewStatus.create = function create(properties) {
+ return new ProductReviewStatus(properties);
+ };
+
+ /**
+ * Encodes the specified ProductReviewStatus message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewStatus.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IProductReviewStatus} message ProductReviewStatus message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ProductReviewStatus.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.destinationStatuses != null && message.destinationStatuses.length)
+ for (var i = 0; i < message.destinationStatuses.length; ++i)
+ $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus.encode(message.destinationStatuses[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.itemLevelIssues != null && message.itemLevelIssues.length)
+ for (var i = 0; i < message.itemLevelIssues.length; ++i)
+ $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue.encode(message.itemLevelIssues[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.lastUpdateTime != null && Object.hasOwnProperty.call(message, "lastUpdateTime"))
+ $root.google.protobuf.Timestamp.encode(message.lastUpdateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ProductReviewStatus message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewStatus.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.IProductReviewStatus} message ProductReviewStatus message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ProductReviewStatus.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ProductReviewStatus message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewStatus} ProductReviewStatus
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ProductReviewStatus.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 3: {
+ if (!(message.destinationStatuses && message.destinationStatuses.length))
+ message.destinationStatuses = [];
+ message.destinationStatuses.push($root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ if (!(message.itemLevelIssues && message.itemLevelIssues.length))
+ message.itemLevelIssues = [];
+ message.itemLevelIssues.push($root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.lastUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ProductReviewStatus message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewStatus} ProductReviewStatus
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ProductReviewStatus.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ProductReviewStatus message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ProductReviewStatus.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.destinationStatuses != null && message.hasOwnProperty("destinationStatuses")) {
+ if (!Array.isArray(message.destinationStatuses))
+ return "destinationStatuses: array expected";
+ for (var i = 0; i < message.destinationStatuses.length; ++i) {
+ var error = $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus.verify(message.destinationStatuses[i]);
+ if (error)
+ return "destinationStatuses." + error;
+ }
+ }
+ if (message.itemLevelIssues != null && message.hasOwnProperty("itemLevelIssues")) {
+ if (!Array.isArray(message.itemLevelIssues))
+ return "itemLevelIssues: array expected";
+ for (var i = 0; i < message.itemLevelIssues.length; ++i) {
+ var error = $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue.verify(message.itemLevelIssues[i]);
+ if (error)
+ return "itemLevelIssues." + error;
+ }
+ }
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.lastUpdateTime != null && message.hasOwnProperty("lastUpdateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.lastUpdateTime);
+ if (error)
+ return "lastUpdateTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ProductReviewStatus message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewStatus} ProductReviewStatus
+ */
+ ProductReviewStatus.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus();
+ if (object.destinationStatuses) {
+ if (!Array.isArray(object.destinationStatuses))
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReviewStatus.destinationStatuses: array expected");
+ message.destinationStatuses = [];
+ for (var i = 0; i < object.destinationStatuses.length; ++i) {
+ if (typeof object.destinationStatuses[i] !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReviewStatus.destinationStatuses: object expected");
+ message.destinationStatuses[i] = $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus.fromObject(object.destinationStatuses[i]);
+ }
+ }
+ if (object.itemLevelIssues) {
+ if (!Array.isArray(object.itemLevelIssues))
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReviewStatus.itemLevelIssues: array expected");
+ message.itemLevelIssues = [];
+ for (var i = 0; i < object.itemLevelIssues.length; ++i) {
+ if (typeof object.itemLevelIssues[i] !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReviewStatus.itemLevelIssues: object expected");
+ message.itemLevelIssues[i] = $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue.fromObject(object.itemLevelIssues[i]);
+ }
+ }
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReviewStatus.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.lastUpdateTime != null) {
+ if (typeof object.lastUpdateTime !== "object")
+ throw TypeError(".google.shopping.merchant.reviews.v1beta.ProductReviewStatus.lastUpdateTime: object expected");
+ message.lastUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.lastUpdateTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ProductReviewStatus message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewStatus} message ProductReviewStatus
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ProductReviewStatus.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.destinationStatuses = [];
+ object.itemLevelIssues = [];
+ }
+ if (options.defaults) {
+ object.createTime = null;
+ object.lastUpdateTime = null;
+ }
+ if (message.destinationStatuses && message.destinationStatuses.length) {
+ object.destinationStatuses = [];
+ for (var j = 0; j < message.destinationStatuses.length; ++j)
+ object.destinationStatuses[j] = $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus.toObject(message.destinationStatuses[j], options);
+ }
+ if (message.itemLevelIssues && message.itemLevelIssues.length) {
+ object.itemLevelIssues = [];
+ for (var j = 0; j < message.itemLevelIssues.length; ++j)
+ object.itemLevelIssues[j] = $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue.toObject(message.itemLevelIssues[j], options);
+ }
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.lastUpdateTime != null && message.hasOwnProperty("lastUpdateTime"))
+ object.lastUpdateTime = $root.google.protobuf.Timestamp.toObject(message.lastUpdateTime, options);
+ return object;
+ };
+
+ /**
+ * Converts this ProductReviewStatus to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ProductReviewStatus.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ProductReviewStatus
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ProductReviewStatus.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.ProductReviewStatus";
+ };
+
+ ProductReviewStatus.ProductReviewDestinationStatus = (function() {
+
+ /**
+ * Properties of a ProductReviewDestinationStatus.
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus
+ * @interface IProductReviewDestinationStatus
+ * @property {google.shopping.type.ReportingContext.ReportingContextEnum|null} [reportingContext] ProductReviewDestinationStatus reportingContext
+ */
+
+ /**
+ * Constructs a new ProductReviewDestinationStatus.
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus
+ * @classdesc Represents a ProductReviewDestinationStatus.
+ * @implements IProductReviewDestinationStatus
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewDestinationStatus=} [properties] Properties to set
+ */
+ function ProductReviewDestinationStatus(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]];
+ }
+
+ /**
+ * ProductReviewDestinationStatus reportingContext.
+ * @member {google.shopping.type.ReportingContext.ReportingContextEnum} reportingContext
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus
+ * @instance
+ */
+ ProductReviewDestinationStatus.prototype.reportingContext = 0;
+
+ /**
+ * Creates a new ProductReviewDestinationStatus instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewDestinationStatus=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus} ProductReviewDestinationStatus instance
+ */
+ ProductReviewDestinationStatus.create = function create(properties) {
+ return new ProductReviewDestinationStatus(properties);
+ };
+
+ /**
+ * Encodes the specified ProductReviewDestinationStatus message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewDestinationStatus} message ProductReviewDestinationStatus message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ProductReviewDestinationStatus.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.reportingContext != null && Object.hasOwnProperty.call(message, "reportingContext"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.reportingContext);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ProductReviewDestinationStatus message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewDestinationStatus} message ProductReviewDestinationStatus message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ProductReviewDestinationStatus.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ProductReviewDestinationStatus message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus} ProductReviewDestinationStatus
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ProductReviewDestinationStatus.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.reportingContext = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ProductReviewDestinationStatus message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus} ProductReviewDestinationStatus
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ProductReviewDestinationStatus.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ProductReviewDestinationStatus message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ProductReviewDestinationStatus.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.reportingContext != null && message.hasOwnProperty("reportingContext"))
+ switch (message.reportingContext) {
+ default:
+ return "reportingContext: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 13:
+ case 14:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ProductReviewDestinationStatus message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus} ProductReviewDestinationStatus
+ */
+ ProductReviewDestinationStatus.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus();
+ switch (object.reportingContext) {
+ default:
+ if (typeof object.reportingContext === "number") {
+ message.reportingContext = object.reportingContext;
+ break;
+ }
+ break;
+ case "REPORTING_CONTEXT_ENUM_UNSPECIFIED":
+ case 0:
+ message.reportingContext = 0;
+ break;
+ case "SHOPPING_ADS":
+ case 1:
+ message.reportingContext = 1;
+ break;
+ case "DISCOVERY_ADS":
+ case 2:
+ message.reportingContext = 2;
+ break;
+ case "DEMAND_GEN_ADS":
+ case 13:
+ message.reportingContext = 13;
+ break;
+ case "DEMAND_GEN_ADS_DISCOVER_SURFACE":
+ case 14:
+ message.reportingContext = 14;
+ break;
+ case "VIDEO_ADS":
+ case 3:
+ message.reportingContext = 3;
+ break;
+ case "DISPLAY_ADS":
+ case 4:
+ message.reportingContext = 4;
+ break;
+ case "LOCAL_INVENTORY_ADS":
+ case 5:
+ message.reportingContext = 5;
+ break;
+ case "VEHICLE_INVENTORY_ADS":
+ case 6:
+ message.reportingContext = 6;
+ break;
+ case "FREE_LISTINGS":
+ case 7:
+ message.reportingContext = 7;
+ break;
+ case "FREE_LOCAL_LISTINGS":
+ case 8:
+ message.reportingContext = 8;
+ break;
+ case "FREE_LOCAL_VEHICLE_LISTINGS":
+ case 9:
+ message.reportingContext = 9;
+ break;
+ case "YOUTUBE_SHOPPING":
+ case 10:
+ message.reportingContext = 10;
+ break;
+ case "CLOUD_RETAIL":
+ case 11:
+ message.reportingContext = 11;
+ break;
+ case "LOCAL_CLOUD_RETAIL":
+ case 12:
+ message.reportingContext = 12;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ProductReviewDestinationStatus message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus} message ProductReviewDestinationStatus
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ProductReviewDestinationStatus.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.reportingContext = options.enums === String ? "REPORTING_CONTEXT_ENUM_UNSPECIFIED" : 0;
+ if (message.reportingContext != null && message.hasOwnProperty("reportingContext"))
+ object.reportingContext = options.enums === String ? $root.google.shopping.type.ReportingContext.ReportingContextEnum[message.reportingContext] === undefined ? message.reportingContext : $root.google.shopping.type.ReportingContext.ReportingContextEnum[message.reportingContext] : message.reportingContext;
+ return object;
+ };
+
+ /**
+ * Converts this ProductReviewDestinationStatus to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ProductReviewDestinationStatus.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ProductReviewDestinationStatus
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ProductReviewDestinationStatus.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewDestinationStatus";
+ };
+
+ return ProductReviewDestinationStatus;
+ })();
+
+ ProductReviewStatus.ProductReviewItemLevelIssue = (function() {
+
+ /**
+ * Properties of a ProductReviewItemLevelIssue.
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus
+ * @interface IProductReviewItemLevelIssue
+ * @property {string|null} [code] ProductReviewItemLevelIssue code
+ * @property {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue.Severity|null} [severity] ProductReviewItemLevelIssue severity
+ * @property {string|null} [resolution] ProductReviewItemLevelIssue resolution
+ * @property {string|null} [attribute] ProductReviewItemLevelIssue attribute
+ * @property {google.shopping.type.ReportingContext.ReportingContextEnum|null} [reportingContext] ProductReviewItemLevelIssue reportingContext
+ * @property {string|null} [description] ProductReviewItemLevelIssue description
+ * @property {string|null} [detail] ProductReviewItemLevelIssue detail
+ * @property {string|null} [documentation] ProductReviewItemLevelIssue documentation
+ */
+
+ /**
+ * Constructs a new ProductReviewItemLevelIssue.
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus
+ * @classdesc Represents a ProductReviewItemLevelIssue.
+ * @implements IProductReviewItemLevelIssue
+ * @constructor
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewItemLevelIssue=} [properties] Properties to set
+ */
+ function ProductReviewItemLevelIssue(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]];
+ }
+
+ /**
+ * ProductReviewItemLevelIssue code.
+ * @member {string} code
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue
+ * @instance
+ */
+ ProductReviewItemLevelIssue.prototype.code = "";
+
+ /**
+ * ProductReviewItemLevelIssue severity.
+ * @member {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue.Severity} severity
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue
+ * @instance
+ */
+ ProductReviewItemLevelIssue.prototype.severity = 0;
+
+ /**
+ * ProductReviewItemLevelIssue resolution.
+ * @member {string} resolution
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue
+ * @instance
+ */
+ ProductReviewItemLevelIssue.prototype.resolution = "";
+
+ /**
+ * ProductReviewItemLevelIssue attribute.
+ * @member {string} attribute
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue
+ * @instance
+ */
+ ProductReviewItemLevelIssue.prototype.attribute = "";
+
+ /**
+ * ProductReviewItemLevelIssue reportingContext.
+ * @member {google.shopping.type.ReportingContext.ReportingContextEnum} reportingContext
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue
+ * @instance
+ */
+ ProductReviewItemLevelIssue.prototype.reportingContext = 0;
+
+ /**
+ * ProductReviewItemLevelIssue description.
+ * @member {string} description
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue
+ * @instance
+ */
+ ProductReviewItemLevelIssue.prototype.description = "";
+
+ /**
+ * ProductReviewItemLevelIssue detail.
+ * @member {string} detail
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue
+ * @instance
+ */
+ ProductReviewItemLevelIssue.prototype.detail = "";
+
+ /**
+ * ProductReviewItemLevelIssue documentation.
+ * @member {string} documentation
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue
+ * @instance
+ */
+ ProductReviewItemLevelIssue.prototype.documentation = "";
+
+ /**
+ * Creates a new ProductReviewItemLevelIssue instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewItemLevelIssue=} [properties] Properties to set
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue} ProductReviewItemLevelIssue instance
+ */
+ ProductReviewItemLevelIssue.create = function create(properties) {
+ return new ProductReviewItemLevelIssue(properties);
+ };
+
+ /**
+ * Encodes the specified ProductReviewItemLevelIssue message. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewItemLevelIssue} message ProductReviewItemLevelIssue message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ProductReviewItemLevelIssue.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.code != null && Object.hasOwnProperty.call(message, "code"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.code);
+ if (message.severity != null && Object.hasOwnProperty.call(message, "severity"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.severity);
+ if (message.resolution != null && Object.hasOwnProperty.call(message, "resolution"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.resolution);
+ if (message.attribute != null && Object.hasOwnProperty.call(message, "attribute"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.attribute);
+ if (message.reportingContext != null && Object.hasOwnProperty.call(message, "reportingContext"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.reportingContext);
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.description);
+ if (message.detail != null && Object.hasOwnProperty.call(message, "detail"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.detail);
+ if (message.documentation != null && Object.hasOwnProperty.call(message, "documentation"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.documentation);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ProductReviewItemLevelIssue message, length delimited. Does not implicitly {@link google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.IProductReviewItemLevelIssue} message ProductReviewItemLevelIssue message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ProductReviewItemLevelIssue.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ProductReviewItemLevelIssue message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue} ProductReviewItemLevelIssue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ProductReviewItemLevelIssue.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.code = reader.string();
+ break;
+ }
+ case 2: {
+ message.severity = reader.int32();
+ break;
+ }
+ case 3: {
+ message.resolution = reader.string();
+ break;
+ }
+ case 4: {
+ message.attribute = reader.string();
+ break;
+ }
+ case 5: {
+ message.reportingContext = reader.int32();
+ break;
+ }
+ case 6: {
+ message.description = reader.string();
+ break;
+ }
+ case 7: {
+ message.detail = reader.string();
+ break;
+ }
+ case 8: {
+ message.documentation = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ProductReviewItemLevelIssue message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue} ProductReviewItemLevelIssue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ProductReviewItemLevelIssue.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ProductReviewItemLevelIssue message.
+ * @function verify
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ProductReviewItemLevelIssue.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.code != null && message.hasOwnProperty("code"))
+ if (!$util.isString(message.code))
+ return "code: string expected";
+ if (message.severity != null && message.hasOwnProperty("severity"))
+ switch (message.severity) {
+ default:
+ return "severity: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.resolution != null && message.hasOwnProperty("resolution"))
+ if (!$util.isString(message.resolution))
+ return "resolution: string expected";
+ if (message.attribute != null && message.hasOwnProperty("attribute"))
+ if (!$util.isString(message.attribute))
+ return "attribute: string expected";
+ if (message.reportingContext != null && message.hasOwnProperty("reportingContext"))
+ switch (message.reportingContext) {
+ default:
+ return "reportingContext: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 13:
+ case 14:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ break;
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.detail != null && message.hasOwnProperty("detail"))
+ if (!$util.isString(message.detail))
+ return "detail: string expected";
+ if (message.documentation != null && message.hasOwnProperty("documentation"))
+ if (!$util.isString(message.documentation))
+ return "documentation: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ProductReviewItemLevelIssue message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue} ProductReviewItemLevelIssue
+ */
+ ProductReviewItemLevelIssue.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue)
+ return object;
+ var message = new $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue();
+ if (object.code != null)
+ message.code = String(object.code);
+ switch (object.severity) {
+ default:
+ if (typeof object.severity === "number") {
+ message.severity = object.severity;
+ break;
+ }
+ break;
+ case "SEVERITY_UNSPECIFIED":
+ case 0:
+ message.severity = 0;
+ break;
+ case "NOT_IMPACTED":
+ case 1:
+ message.severity = 1;
+ break;
+ case "DISAPPROVED":
+ case 2:
+ message.severity = 2;
+ break;
+ }
+ if (object.resolution != null)
+ message.resolution = String(object.resolution);
+ if (object.attribute != null)
+ message.attribute = String(object.attribute);
+ switch (object.reportingContext) {
+ default:
+ if (typeof object.reportingContext === "number") {
+ message.reportingContext = object.reportingContext;
+ break;
+ }
+ break;
+ case "REPORTING_CONTEXT_ENUM_UNSPECIFIED":
+ case 0:
+ message.reportingContext = 0;
+ break;
+ case "SHOPPING_ADS":
+ case 1:
+ message.reportingContext = 1;
+ break;
+ case "DISCOVERY_ADS":
+ case 2:
+ message.reportingContext = 2;
+ break;
+ case "DEMAND_GEN_ADS":
+ case 13:
+ message.reportingContext = 13;
+ break;
+ case "DEMAND_GEN_ADS_DISCOVER_SURFACE":
+ case 14:
+ message.reportingContext = 14;
+ break;
+ case "VIDEO_ADS":
+ case 3:
+ message.reportingContext = 3;
+ break;
+ case "DISPLAY_ADS":
+ case 4:
+ message.reportingContext = 4;
+ break;
+ case "LOCAL_INVENTORY_ADS":
+ case 5:
+ message.reportingContext = 5;
+ break;
+ case "VEHICLE_INVENTORY_ADS":
+ case 6:
+ message.reportingContext = 6;
+ break;
+ case "FREE_LISTINGS":
+ case 7:
+ message.reportingContext = 7;
+ break;
+ case "FREE_LOCAL_LISTINGS":
+ case 8:
+ message.reportingContext = 8;
+ break;
+ case "FREE_LOCAL_VEHICLE_LISTINGS":
+ case 9:
+ message.reportingContext = 9;
+ break;
+ case "YOUTUBE_SHOPPING":
+ case 10:
+ message.reportingContext = 10;
+ break;
+ case "CLOUD_RETAIL":
+ case 11:
+ message.reportingContext = 11;
+ break;
+ case "LOCAL_CLOUD_RETAIL":
+ case 12:
+ message.reportingContext = 12;
+ break;
+ }
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.detail != null)
+ message.detail = String(object.detail);
+ if (object.documentation != null)
+ message.documentation = String(object.documentation);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ProductReviewItemLevelIssue message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue
+ * @static
+ * @param {google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue} message ProductReviewItemLevelIssue
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ProductReviewItemLevelIssue.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.code = "";
+ object.severity = options.enums === String ? "SEVERITY_UNSPECIFIED" : 0;
+ object.resolution = "";
+ object.attribute = "";
+ object.reportingContext = options.enums === String ? "REPORTING_CONTEXT_ENUM_UNSPECIFIED" : 0;
+ object.description = "";
+ object.detail = "";
+ object.documentation = "";
+ }
+ if (message.code != null && message.hasOwnProperty("code"))
+ object.code = message.code;
+ if (message.severity != null && message.hasOwnProperty("severity"))
+ object.severity = options.enums === String ? $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue.Severity[message.severity] === undefined ? message.severity : $root.google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue.Severity[message.severity] : message.severity;
+ if (message.resolution != null && message.hasOwnProperty("resolution"))
+ object.resolution = message.resolution;
+ if (message.attribute != null && message.hasOwnProperty("attribute"))
+ object.attribute = message.attribute;
+ if (message.reportingContext != null && message.hasOwnProperty("reportingContext"))
+ object.reportingContext = options.enums === String ? $root.google.shopping.type.ReportingContext.ReportingContextEnum[message.reportingContext] === undefined ? message.reportingContext : $root.google.shopping.type.ReportingContext.ReportingContextEnum[message.reportingContext] : message.reportingContext;
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.detail != null && message.hasOwnProperty("detail"))
+ object.detail = message.detail;
+ if (message.documentation != null && message.hasOwnProperty("documentation"))
+ object.documentation = message.documentation;
+ return object;
+ };
+
+ /**
+ * Converts this ProductReviewItemLevelIssue to JSON.
+ * @function toJSON
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ProductReviewItemLevelIssue.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ProductReviewItemLevelIssue
+ * @function getTypeUrl
+ * @memberof google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ProductReviewItemLevelIssue.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue";
+ };
+
+ /**
+ * Severity enum.
+ * @name google.shopping.merchant.reviews.v1beta.ProductReviewStatus.ProductReviewItemLevelIssue.Severity
+ * @enum {number}
+ * @property {number} SEVERITY_UNSPECIFIED=0 SEVERITY_UNSPECIFIED value
+ * @property {number} NOT_IMPACTED=1 NOT_IMPACTED value
+ * @property {number} DISAPPROVED=2 DISAPPROVED value
+ */
+ ProductReviewItemLevelIssue.Severity = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "SEVERITY_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "NOT_IMPACTED"] = 1;
+ values[valuesById[2] = "DISAPPROVED"] = 2;
+ return values;
+ })();
+
+ return ProductReviewItemLevelIssue;
+ })();
+
+ return ProductReviewStatus;
+ })();
+
+ return v1beta;
+ })();
+
+ return reviews;
+ })();
+
+ return merchant;
+ })();
+
+ shopping.type = (function() {
+
+ /**
+ * Namespace type.
+ * @memberof google.shopping
+ * @namespace
+ */
+ var type = {};
+
+ type.Weight = (function() {
+
+ /**
+ * Properties of a Weight.
+ * @memberof google.shopping.type
+ * @interface IWeight
+ * @property {number|Long|null} [amountMicros] Weight amountMicros
+ * @property {google.shopping.type.Weight.WeightUnit|null} [unit] Weight unit
+ */
+
+ /**
+ * Constructs a new Weight.
+ * @memberof google.shopping.type
+ * @classdesc Represents a Weight.
+ * @implements IWeight
+ * @constructor
+ * @param {google.shopping.type.IWeight=} [properties] Properties to set
+ */
+ function Weight(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Weight amountMicros.
+ * @member {number|Long|null|undefined} amountMicros
+ * @memberof google.shopping.type.Weight
+ * @instance
+ */
+ Weight.prototype.amountMicros = null;
+
+ /**
+ * Weight unit.
+ * @member {google.shopping.type.Weight.WeightUnit} unit
+ * @memberof google.shopping.type.Weight
+ * @instance
+ */
+ Weight.prototype.unit = 0;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * Weight _amountMicros.
+ * @member {"amountMicros"|undefined} _amountMicros
+ * @memberof google.shopping.type.Weight
+ * @instance
+ */
+ Object.defineProperty(Weight.prototype, "_amountMicros", {
+ get: $util.oneOfGetter($oneOfFields = ["amountMicros"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new Weight instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.type.Weight
+ * @static
+ * @param {google.shopping.type.IWeight=} [properties] Properties to set
+ * @returns {google.shopping.type.Weight} Weight instance
+ */
+ Weight.create = function create(properties) {
+ return new Weight(properties);
+ };
+
+ /**
+ * Encodes the specified Weight message. Does not implicitly {@link google.shopping.type.Weight.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.type.Weight
+ * @static
+ * @param {google.shopping.type.IWeight} message Weight message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Weight.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.amountMicros != null && Object.hasOwnProperty.call(message, "amountMicros"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int64(message.amountMicros);
+ if (message.unit != null && Object.hasOwnProperty.call(message, "unit"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.unit);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Weight message, length delimited. Does not implicitly {@link google.shopping.type.Weight.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.type.Weight
+ * @static
+ * @param {google.shopping.type.IWeight} message Weight message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Weight.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Weight message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.type.Weight
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.type.Weight} Weight
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Weight.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.type.Weight();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.amountMicros = reader.int64();
+ break;
+ }
+ case 2: {
+ message.unit = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Weight message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.type.Weight
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.type.Weight} Weight
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Weight.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Weight message.
+ * @function verify
+ * @memberof google.shopping.type.Weight
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Weight.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.amountMicros != null && message.hasOwnProperty("amountMicros")) {
+ properties._amountMicros = 1;
+ if (!$util.isInteger(message.amountMicros) && !(message.amountMicros && $util.isInteger(message.amountMicros.low) && $util.isInteger(message.amountMicros.high)))
+ return "amountMicros: integer|Long expected";
+ }
+ if (message.unit != null && message.hasOwnProperty("unit"))
+ switch (message.unit) {
+ default:
+ return "unit: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Weight message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.type.Weight
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.type.Weight} Weight
+ */
+ Weight.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.type.Weight)
+ return object;
+ var message = new $root.google.shopping.type.Weight();
+ if (object.amountMicros != null)
+ if ($util.Long)
+ (message.amountMicros = $util.Long.fromValue(object.amountMicros)).unsigned = false;
+ else if (typeof object.amountMicros === "string")
+ message.amountMicros = parseInt(object.amountMicros, 10);
+ else if (typeof object.amountMicros === "number")
+ message.amountMicros = object.amountMicros;
+ else if (typeof object.amountMicros === "object")
+ message.amountMicros = new $util.LongBits(object.amountMicros.low >>> 0, object.amountMicros.high >>> 0).toNumber();
+ switch (object.unit) {
+ default:
+ if (typeof object.unit === "number") {
+ message.unit = object.unit;
+ break;
+ }
+ break;
+ case "WEIGHT_UNIT_UNSPECIFIED":
+ case 0:
+ message.unit = 0;
+ break;
+ case "POUND":
+ case 1:
+ message.unit = 1;
+ break;
+ case "KILOGRAM":
+ case 2:
+ message.unit = 2;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Weight message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.type.Weight
+ * @static
+ * @param {google.shopping.type.Weight} message Weight
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Weight.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.unit = options.enums === String ? "WEIGHT_UNIT_UNSPECIFIED" : 0;
+ if (message.amountMicros != null && message.hasOwnProperty("amountMicros")) {
+ if (typeof message.amountMicros === "number")
+ object.amountMicros = options.longs === String ? String(message.amountMicros) : message.amountMicros;
+ else
+ object.amountMicros = options.longs === String ? $util.Long.prototype.toString.call(message.amountMicros) : options.longs === Number ? new $util.LongBits(message.amountMicros.low >>> 0, message.amountMicros.high >>> 0).toNumber() : message.amountMicros;
+ if (options.oneofs)
+ object._amountMicros = "amountMicros";
+ }
+ if (message.unit != null && message.hasOwnProperty("unit"))
+ object.unit = options.enums === String ? $root.google.shopping.type.Weight.WeightUnit[message.unit] === undefined ? message.unit : $root.google.shopping.type.Weight.WeightUnit[message.unit] : message.unit;
+ return object;
+ };
+
+ /**
+ * Converts this Weight to JSON.
+ * @function toJSON
+ * @memberof google.shopping.type.Weight
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Weight.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Weight
+ * @function getTypeUrl
+ * @memberof google.shopping.type.Weight
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Weight.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.type.Weight";
+ };
+
+ /**
+ * WeightUnit enum.
+ * @name google.shopping.type.Weight.WeightUnit
+ * @enum {number}
+ * @property {number} WEIGHT_UNIT_UNSPECIFIED=0 WEIGHT_UNIT_UNSPECIFIED value
+ * @property {number} POUND=1 POUND value
+ * @property {number} KILOGRAM=2 KILOGRAM value
+ */
+ Weight.WeightUnit = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "WEIGHT_UNIT_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "POUND"] = 1;
+ values[valuesById[2] = "KILOGRAM"] = 2;
+ return values;
+ })();
+
+ return Weight;
+ })();
+
+ type.Price = (function() {
+
+ /**
+ * Properties of a Price.
+ * @memberof google.shopping.type
+ * @interface IPrice
+ * @property {number|Long|null} [amountMicros] Price amountMicros
+ * @property {string|null} [currencyCode] Price currencyCode
+ */
+
+ /**
+ * Constructs a new Price.
+ * @memberof google.shopping.type
+ * @classdesc Represents a Price.
+ * @implements IPrice
+ * @constructor
+ * @param {google.shopping.type.IPrice=} [properties] Properties to set
+ */
+ function Price(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Price amountMicros.
+ * @member {number|Long|null|undefined} amountMicros
+ * @memberof google.shopping.type.Price
+ * @instance
+ */
+ Price.prototype.amountMicros = null;
+
+ /**
+ * Price currencyCode.
+ * @member {string|null|undefined} currencyCode
+ * @memberof google.shopping.type.Price
+ * @instance
+ */
+ Price.prototype.currencyCode = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * Price _amountMicros.
+ * @member {"amountMicros"|undefined} _amountMicros
+ * @memberof google.shopping.type.Price
+ * @instance
+ */
+ Object.defineProperty(Price.prototype, "_amountMicros", {
+ get: $util.oneOfGetter($oneOfFields = ["amountMicros"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Price _currencyCode.
+ * @member {"currencyCode"|undefined} _currencyCode
+ * @memberof google.shopping.type.Price
+ * @instance
+ */
+ Object.defineProperty(Price.prototype, "_currencyCode", {
+ get: $util.oneOfGetter($oneOfFields = ["currencyCode"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new Price instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.type.Price
+ * @static
+ * @param {google.shopping.type.IPrice=} [properties] Properties to set
+ * @returns {google.shopping.type.Price} Price instance
+ */
+ Price.create = function create(properties) {
+ return new Price(properties);
+ };
+
+ /**
+ * Encodes the specified Price message. Does not implicitly {@link google.shopping.type.Price.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.type.Price
+ * @static
+ * @param {google.shopping.type.IPrice} message Price message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Price.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.amountMicros != null && Object.hasOwnProperty.call(message, "amountMicros"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int64(message.amountMicros);
+ if (message.currencyCode != null && Object.hasOwnProperty.call(message, "currencyCode"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.currencyCode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Price message, length delimited. Does not implicitly {@link google.shopping.type.Price.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.type.Price
+ * @static
+ * @param {google.shopping.type.IPrice} message Price message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Price.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Price message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.type.Price
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.type.Price} Price
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Price.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.type.Price();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.amountMicros = reader.int64();
+ break;
+ }
+ case 2: {
+ message.currencyCode = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Price message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.type.Price
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.type.Price} Price
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Price.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Price message.
+ * @function verify
+ * @memberof google.shopping.type.Price
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Price.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.amountMicros != null && message.hasOwnProperty("amountMicros")) {
+ properties._amountMicros = 1;
+ if (!$util.isInteger(message.amountMicros) && !(message.amountMicros && $util.isInteger(message.amountMicros.low) && $util.isInteger(message.amountMicros.high)))
+ return "amountMicros: integer|Long expected";
+ }
+ if (message.currencyCode != null && message.hasOwnProperty("currencyCode")) {
+ properties._currencyCode = 1;
+ if (!$util.isString(message.currencyCode))
+ return "currencyCode: string expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Price message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.type.Price
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.type.Price} Price
+ */
+ Price.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.type.Price)
+ return object;
+ var message = new $root.google.shopping.type.Price();
+ if (object.amountMicros != null)
+ if ($util.Long)
+ (message.amountMicros = $util.Long.fromValue(object.amountMicros)).unsigned = false;
+ else if (typeof object.amountMicros === "string")
+ message.amountMicros = parseInt(object.amountMicros, 10);
+ else if (typeof object.amountMicros === "number")
+ message.amountMicros = object.amountMicros;
+ else if (typeof object.amountMicros === "object")
+ message.amountMicros = new $util.LongBits(object.amountMicros.low >>> 0, object.amountMicros.high >>> 0).toNumber();
+ if (object.currencyCode != null)
+ message.currencyCode = String(object.currencyCode);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Price message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.type.Price
+ * @static
+ * @param {google.shopping.type.Price} message Price
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Price.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.amountMicros != null && message.hasOwnProperty("amountMicros")) {
+ if (typeof message.amountMicros === "number")
+ object.amountMicros = options.longs === String ? String(message.amountMicros) : message.amountMicros;
+ else
+ object.amountMicros = options.longs === String ? $util.Long.prototype.toString.call(message.amountMicros) : options.longs === Number ? new $util.LongBits(message.amountMicros.low >>> 0, message.amountMicros.high >>> 0).toNumber() : message.amountMicros;
+ if (options.oneofs)
+ object._amountMicros = "amountMicros";
+ }
+ if (message.currencyCode != null && message.hasOwnProperty("currencyCode")) {
+ object.currencyCode = message.currencyCode;
+ if (options.oneofs)
+ object._currencyCode = "currencyCode";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Price to JSON.
+ * @function toJSON
+ * @memberof google.shopping.type.Price
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Price.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Price
+ * @function getTypeUrl
+ * @memberof google.shopping.type.Price
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Price.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.type.Price";
+ };
+
+ return Price;
+ })();
+
+ type.CustomAttribute = (function() {
+
+ /**
+ * Properties of a CustomAttribute.
+ * @memberof google.shopping.type
+ * @interface ICustomAttribute
+ * @property {string|null} [name] CustomAttribute name
+ * @property {string|null} [value] CustomAttribute value
+ * @property {Array.|null} [groupValues] CustomAttribute groupValues
+ */
+
+ /**
+ * Constructs a new CustomAttribute.
+ * @memberof google.shopping.type
+ * @classdesc Represents a CustomAttribute.
+ * @implements ICustomAttribute
+ * @constructor
+ * @param {google.shopping.type.ICustomAttribute=} [properties] Properties to set
+ */
+ function CustomAttribute(properties) {
+ this.groupValues = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CustomAttribute name.
+ * @member {string|null|undefined} name
+ * @memberof google.shopping.type.CustomAttribute
+ * @instance
+ */
+ CustomAttribute.prototype.name = null;
+
+ /**
+ * CustomAttribute value.
+ * @member {string|null|undefined} value
+ * @memberof google.shopping.type.CustomAttribute
+ * @instance
+ */
+ CustomAttribute.prototype.value = null;
+
+ /**
+ * CustomAttribute groupValues.
+ * @member {Array.} groupValues
+ * @memberof google.shopping.type.CustomAttribute
+ * @instance
+ */
+ CustomAttribute.prototype.groupValues = $util.emptyArray;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * CustomAttribute _name.
+ * @member {"name"|undefined} _name
+ * @memberof google.shopping.type.CustomAttribute
+ * @instance
+ */
+ Object.defineProperty(CustomAttribute.prototype, "_name", {
+ get: $util.oneOfGetter($oneOfFields = ["name"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * CustomAttribute _value.
+ * @member {"value"|undefined} _value
+ * @memberof google.shopping.type.CustomAttribute
+ * @instance
+ */
+ Object.defineProperty(CustomAttribute.prototype, "_value", {
+ get: $util.oneOfGetter($oneOfFields = ["value"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new CustomAttribute instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.type.CustomAttribute
+ * @static
+ * @param {google.shopping.type.ICustomAttribute=} [properties] Properties to set
+ * @returns {google.shopping.type.CustomAttribute} CustomAttribute instance
+ */
+ CustomAttribute.create = function create(properties) {
+ return new CustomAttribute(properties);
+ };
+
+ /**
+ * Encodes the specified CustomAttribute message. Does not implicitly {@link google.shopping.type.CustomAttribute.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.type.CustomAttribute
+ * @static
+ * @param {google.shopping.type.ICustomAttribute} message CustomAttribute message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CustomAttribute.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.value != null && Object.hasOwnProperty.call(message, "value"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.value);
+ if (message.groupValues != null && message.groupValues.length)
+ for (var i = 0; i < message.groupValues.length; ++i)
+ $root.google.shopping.type.CustomAttribute.encode(message.groupValues[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CustomAttribute message, length delimited. Does not implicitly {@link google.shopping.type.CustomAttribute.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.type.CustomAttribute
+ * @static
+ * @param {google.shopping.type.ICustomAttribute} message CustomAttribute message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CustomAttribute.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CustomAttribute message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.type.CustomAttribute
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.type.CustomAttribute} CustomAttribute
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CustomAttribute.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.type.CustomAttribute();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.value = reader.string();
+ break;
+ }
+ case 3: {
+ if (!(message.groupValues && message.groupValues.length))
+ message.groupValues = [];
+ message.groupValues.push($root.google.shopping.type.CustomAttribute.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CustomAttribute message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.type.CustomAttribute
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.type.CustomAttribute} CustomAttribute
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CustomAttribute.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CustomAttribute message.
+ * @function verify
+ * @memberof google.shopping.type.CustomAttribute
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CustomAttribute.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.name != null && message.hasOwnProperty("name")) {
+ properties._name = 1;
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ }
+ if (message.value != null && message.hasOwnProperty("value")) {
+ properties._value = 1;
+ if (!$util.isString(message.value))
+ return "value: string expected";
+ }
+ if (message.groupValues != null && message.hasOwnProperty("groupValues")) {
+ if (!Array.isArray(message.groupValues))
+ return "groupValues: array expected";
+ for (var i = 0; i < message.groupValues.length; ++i) {
+ var error = $root.google.shopping.type.CustomAttribute.verify(message.groupValues[i]);
+ if (error)
+ return "groupValues." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CustomAttribute message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.type.CustomAttribute
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.type.CustomAttribute} CustomAttribute
+ */
+ CustomAttribute.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.type.CustomAttribute)
+ return object;
+ var message = new $root.google.shopping.type.CustomAttribute();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.value != null)
+ message.value = String(object.value);
+ if (object.groupValues) {
+ if (!Array.isArray(object.groupValues))
+ throw TypeError(".google.shopping.type.CustomAttribute.groupValues: array expected");
+ message.groupValues = [];
+ for (var i = 0; i < object.groupValues.length; ++i) {
+ if (typeof object.groupValues[i] !== "object")
+ throw TypeError(".google.shopping.type.CustomAttribute.groupValues: object expected");
+ message.groupValues[i] = $root.google.shopping.type.CustomAttribute.fromObject(object.groupValues[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CustomAttribute message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.type.CustomAttribute
+ * @static
+ * @param {google.shopping.type.CustomAttribute} message CustomAttribute
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CustomAttribute.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.groupValues = [];
+ if (message.name != null && message.hasOwnProperty("name")) {
+ object.name = message.name;
+ if (options.oneofs)
+ object._name = "name";
+ }
+ if (message.value != null && message.hasOwnProperty("value")) {
+ object.value = message.value;
+ if (options.oneofs)
+ object._value = "value";
+ }
+ if (message.groupValues && message.groupValues.length) {
+ object.groupValues = [];
+ for (var j = 0; j < message.groupValues.length; ++j)
+ object.groupValues[j] = $root.google.shopping.type.CustomAttribute.toObject(message.groupValues[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this CustomAttribute to JSON.
+ * @function toJSON
+ * @memberof google.shopping.type.CustomAttribute
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CustomAttribute.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CustomAttribute
+ * @function getTypeUrl
+ * @memberof google.shopping.type.CustomAttribute
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CustomAttribute.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.type.CustomAttribute";
+ };
+
+ return CustomAttribute;
+ })();
+
+ type.Destination = (function() {
+
+ /**
+ * Properties of a Destination.
+ * @memberof google.shopping.type
+ * @interface IDestination
+ */
+
+ /**
+ * Constructs a new Destination.
+ * @memberof google.shopping.type
+ * @classdesc Represents a Destination.
+ * @implements IDestination
+ * @constructor
+ * @param {google.shopping.type.IDestination=} [properties] Properties to set
+ */
+ function Destination(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Creates a new Destination instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.type.Destination
+ * @static
+ * @param {google.shopping.type.IDestination=} [properties] Properties to set
+ * @returns {google.shopping.type.Destination} Destination instance
+ */
+ Destination.create = function create(properties) {
+ return new Destination(properties);
+ };
+
+ /**
+ * Encodes the specified Destination message. Does not implicitly {@link google.shopping.type.Destination.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.type.Destination
+ * @static
+ * @param {google.shopping.type.IDestination} message Destination message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Destination.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Destination message, length delimited. Does not implicitly {@link google.shopping.type.Destination.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.type.Destination
+ * @static
+ * @param {google.shopping.type.IDestination} message Destination message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Destination.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Destination message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.type.Destination
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.type.Destination} Destination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Destination.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.type.Destination();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Destination message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.type.Destination
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.type.Destination} Destination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Destination.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Destination message.
+ * @function verify
+ * @memberof google.shopping.type.Destination
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Destination.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ return null;
+ };
+
+ /**
+ * Creates a Destination message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.type.Destination
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.type.Destination} Destination
+ */
+ Destination.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.type.Destination)
+ return object;
+ return new $root.google.shopping.type.Destination();
+ };
+
+ /**
+ * Creates a plain object from a Destination message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.type.Destination
+ * @static
+ * @param {google.shopping.type.Destination} message Destination
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Destination.toObject = function toObject() {
+ return {};
+ };
+
+ /**
+ * Converts this Destination to JSON.
+ * @function toJSON
+ * @memberof google.shopping.type.Destination
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Destination.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Destination
+ * @function getTypeUrl
+ * @memberof google.shopping.type.Destination
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Destination.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.type.Destination";
+ };
+
+ /**
+ * DestinationEnum enum.
+ * @name google.shopping.type.Destination.DestinationEnum
+ * @enum {number}
+ * @property {number} DESTINATION_ENUM_UNSPECIFIED=0 DESTINATION_ENUM_UNSPECIFIED value
+ * @property {number} SHOPPING_ADS=1 SHOPPING_ADS value
+ * @property {number} DISPLAY_ADS=2 DISPLAY_ADS value
+ * @property {number} LOCAL_INVENTORY_ADS=3 LOCAL_INVENTORY_ADS value
+ * @property {number} FREE_LISTINGS=4 FREE_LISTINGS value
+ * @property {number} FREE_LOCAL_LISTINGS=5 FREE_LOCAL_LISTINGS value
+ * @property {number} YOUTUBE_SHOPPING=6 YOUTUBE_SHOPPING value
+ */
+ Destination.DestinationEnum = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "DESTINATION_ENUM_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "SHOPPING_ADS"] = 1;
+ values[valuesById[2] = "DISPLAY_ADS"] = 2;
+ values[valuesById[3] = "LOCAL_INVENTORY_ADS"] = 3;
+ values[valuesById[4] = "FREE_LISTINGS"] = 4;
+ values[valuesById[5] = "FREE_LOCAL_LISTINGS"] = 5;
+ values[valuesById[6] = "YOUTUBE_SHOPPING"] = 6;
+ return values;
+ })();
+
+ return Destination;
+ })();
+
+ type.ReportingContext = (function() {
+
+ /**
+ * Properties of a ReportingContext.
+ * @memberof google.shopping.type
+ * @interface IReportingContext
+ */
+
+ /**
+ * Constructs a new ReportingContext.
+ * @memberof google.shopping.type
+ * @classdesc Represents a ReportingContext.
+ * @implements IReportingContext
+ * @constructor
+ * @param {google.shopping.type.IReportingContext=} [properties] Properties to set
+ */
+ function ReportingContext(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Creates a new ReportingContext instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.type.ReportingContext
+ * @static
+ * @param {google.shopping.type.IReportingContext=} [properties] Properties to set
+ * @returns {google.shopping.type.ReportingContext} ReportingContext instance
+ */
+ ReportingContext.create = function create(properties) {
+ return new ReportingContext(properties);
+ };
+
+ /**
+ * Encodes the specified ReportingContext message. Does not implicitly {@link google.shopping.type.ReportingContext.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.type.ReportingContext
+ * @static
+ * @param {google.shopping.type.IReportingContext} message ReportingContext message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ReportingContext.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ReportingContext message, length delimited. Does not implicitly {@link google.shopping.type.ReportingContext.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.type.ReportingContext
+ * @static
+ * @param {google.shopping.type.IReportingContext} message ReportingContext message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ReportingContext.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ReportingContext message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.type.ReportingContext
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.type.ReportingContext} ReportingContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ReportingContext.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.type.ReportingContext();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ReportingContext message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.type.ReportingContext
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.type.ReportingContext} ReportingContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ReportingContext.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ReportingContext message.
+ * @function verify
+ * @memberof google.shopping.type.ReportingContext
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ReportingContext.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ return null;
+ };
+
+ /**
+ * Creates a ReportingContext message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.type.ReportingContext
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.type.ReportingContext} ReportingContext
+ */
+ ReportingContext.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.type.ReportingContext)
+ return object;
+ return new $root.google.shopping.type.ReportingContext();
+ };
+
+ /**
+ * Creates a plain object from a ReportingContext message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.type.ReportingContext
+ * @static
+ * @param {google.shopping.type.ReportingContext} message ReportingContext
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ReportingContext.toObject = function toObject() {
+ return {};
+ };
+
+ /**
+ * Converts this ReportingContext to JSON.
+ * @function toJSON
+ * @memberof google.shopping.type.ReportingContext
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ReportingContext.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ReportingContext
+ * @function getTypeUrl
+ * @memberof google.shopping.type.ReportingContext
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ReportingContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.type.ReportingContext";
+ };
+
+ /**
+ * ReportingContextEnum enum.
+ * @name google.shopping.type.ReportingContext.ReportingContextEnum
+ * @enum {number}
+ * @property {number} REPORTING_CONTEXT_ENUM_UNSPECIFIED=0 REPORTING_CONTEXT_ENUM_UNSPECIFIED value
+ * @property {number} SHOPPING_ADS=1 SHOPPING_ADS value
+ * @property {number} DISCOVERY_ADS=2 DISCOVERY_ADS value
+ * @property {number} DEMAND_GEN_ADS=13 DEMAND_GEN_ADS value
+ * @property {number} DEMAND_GEN_ADS_DISCOVER_SURFACE=14 DEMAND_GEN_ADS_DISCOVER_SURFACE value
+ * @property {number} VIDEO_ADS=3 VIDEO_ADS value
+ * @property {number} DISPLAY_ADS=4 DISPLAY_ADS value
+ * @property {number} LOCAL_INVENTORY_ADS=5 LOCAL_INVENTORY_ADS value
+ * @property {number} VEHICLE_INVENTORY_ADS=6 VEHICLE_INVENTORY_ADS value
+ * @property {number} FREE_LISTINGS=7 FREE_LISTINGS value
+ * @property {number} FREE_LOCAL_LISTINGS=8 FREE_LOCAL_LISTINGS value
+ * @property {number} FREE_LOCAL_VEHICLE_LISTINGS=9 FREE_LOCAL_VEHICLE_LISTINGS value
+ * @property {number} YOUTUBE_SHOPPING=10 YOUTUBE_SHOPPING value
+ * @property {number} CLOUD_RETAIL=11 CLOUD_RETAIL value
+ * @property {number} LOCAL_CLOUD_RETAIL=12 LOCAL_CLOUD_RETAIL value
+ */
+ ReportingContext.ReportingContextEnum = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "REPORTING_CONTEXT_ENUM_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "SHOPPING_ADS"] = 1;
+ values[valuesById[2] = "DISCOVERY_ADS"] = 2;
+ values[valuesById[13] = "DEMAND_GEN_ADS"] = 13;
+ values[valuesById[14] = "DEMAND_GEN_ADS_DISCOVER_SURFACE"] = 14;
+ values[valuesById[3] = "VIDEO_ADS"] = 3;
+ values[valuesById[4] = "DISPLAY_ADS"] = 4;
+ values[valuesById[5] = "LOCAL_INVENTORY_ADS"] = 5;
+ values[valuesById[6] = "VEHICLE_INVENTORY_ADS"] = 6;
+ values[valuesById[7] = "FREE_LISTINGS"] = 7;
+ values[valuesById[8] = "FREE_LOCAL_LISTINGS"] = 8;
+ values[valuesById[9] = "FREE_LOCAL_VEHICLE_LISTINGS"] = 9;
+ values[valuesById[10] = "YOUTUBE_SHOPPING"] = 10;
+ values[valuesById[11] = "CLOUD_RETAIL"] = 11;
+ values[valuesById[12] = "LOCAL_CLOUD_RETAIL"] = 12;
+ return values;
+ })();
+
+ return ReportingContext;
+ })();
+
+ type.Channel = (function() {
+
+ /**
+ * Properties of a Channel.
+ * @memberof google.shopping.type
+ * @interface IChannel
+ */
+
+ /**
+ * Constructs a new Channel.
+ * @memberof google.shopping.type
+ * @classdesc Represents a Channel.
+ * @implements IChannel
+ * @constructor
+ * @param {google.shopping.type.IChannel=} [properties] Properties to set
+ */
+ function Channel(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Creates a new Channel instance using the specified properties.
+ * @function create
+ * @memberof google.shopping.type.Channel
+ * @static
+ * @param {google.shopping.type.IChannel=} [properties] Properties to set
+ * @returns {google.shopping.type.Channel} Channel instance
+ */
+ Channel.create = function create(properties) {
+ return new Channel(properties);
+ };
+
+ /**
+ * Encodes the specified Channel message. Does not implicitly {@link google.shopping.type.Channel.verify|verify} messages.
+ * @function encode
+ * @memberof google.shopping.type.Channel
+ * @static
+ * @param {google.shopping.type.IChannel} message Channel message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Channel.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Channel message, length delimited. Does not implicitly {@link google.shopping.type.Channel.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.shopping.type.Channel
+ * @static
+ * @param {google.shopping.type.IChannel} message Channel message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Channel.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Channel message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.shopping.type.Channel
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.shopping.type.Channel} Channel
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Channel.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.shopping.type.Channel();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Channel message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.shopping.type.Channel
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.shopping.type.Channel} Channel
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Channel.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Channel message.
+ * @function verify
+ * @memberof google.shopping.type.Channel
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Channel.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ return null;
+ };
+
+ /**
+ * Creates a Channel message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.shopping.type.Channel
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.shopping.type.Channel} Channel
+ */
+ Channel.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.shopping.type.Channel)
+ return object;
+ return new $root.google.shopping.type.Channel();
+ };
+
+ /**
+ * Creates a plain object from a Channel message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.shopping.type.Channel
+ * @static
+ * @param {google.shopping.type.Channel} message Channel
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Channel.toObject = function toObject() {
+ return {};
+ };
+
+ /**
+ * Converts this Channel to JSON.
+ * @function toJSON
+ * @memberof google.shopping.type.Channel
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Channel.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Channel
+ * @function getTypeUrl
+ * @memberof google.shopping.type.Channel
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Channel.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.shopping.type.Channel";
+ };
+
+ /**
+ * ChannelEnum enum.
+ * @name google.shopping.type.Channel.ChannelEnum
+ * @enum {number}
+ * @property {number} CHANNEL_ENUM_UNSPECIFIED=0 CHANNEL_ENUM_UNSPECIFIED value
+ * @property {number} ONLINE=1 ONLINE value
+ * @property {number} LOCAL=2 LOCAL value
+ */
+ Channel.ChannelEnum = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "CHANNEL_ENUM_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ONLINE"] = 1;
+ values[valuesById[2] = "LOCAL"] = 2;
+ return values;
+ })();
+
+ return Channel;
+ })();
+
+ return type;
+ })();
+
+ return shopping;
+ })();
+
+ google.api = (function() {
+
+ /**
+ * Namespace api.
+ * @memberof google
+ * @namespace
+ */
+ var api = {};
+
+ api.Http = (function() {
+
+ /**
+ * Properties of a Http.
+ * @memberof google.api
+ * @interface IHttp
+ * @property {Array.|null} [rules] Http rules
+ * @property {boolean|null} [fullyDecodeReservedExpansion] Http fullyDecodeReservedExpansion
+ */
+
+ /**
+ * Constructs a new Http.
+ * @memberof google.api
+ * @classdesc Represents a Http.
+ * @implements IHttp
+ * @constructor
+ * @param {google.api.IHttp=} [properties] Properties to set
+ */
+ function Http(properties) {
+ this.rules = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Http rules.
+ * @member {Array.} rules
+ * @memberof google.api.Http
+ * @instance
+ */
+ Http.prototype.rules = $util.emptyArray;
+
+ /**
+ * Http fullyDecodeReservedExpansion.
+ * @member {boolean} fullyDecodeReservedExpansion
+ * @memberof google.api.Http
+ * @instance
+ */
+ Http.prototype.fullyDecodeReservedExpansion = false;
+
+ /**
+ * Creates a new Http instance using the specified properties.
+ * @function create
+ * @memberof google.api.Http
+ * @static
+ * @param {google.api.IHttp=} [properties] Properties to set
+ * @returns {google.api.Http} Http instance
+ */
+ Http.create = function create(properties) {
+ return new Http(properties);
+ };
+
+ /**
+ * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.Http
+ * @static
+ * @param {google.api.IHttp} message Http message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Http.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.rules != null && message.rules.length)
+ for (var i = 0; i < message.rules.length; ++i)
+ $root.google.api.HttpRule.encode(message.rules[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.fullyDecodeReservedExpansion != null && Object.hasOwnProperty.call(message, "fullyDecodeReservedExpansion"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.fullyDecodeReservedExpansion);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.Http
+ * @static
+ * @param {google.api.IHttp} message Http message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Http.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Http message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.Http
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.Http} Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Http.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Http();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.rules && message.rules.length))
+ message.rules = [];
+ message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.fullyDecodeReservedExpansion = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Http message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.Http
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.Http} Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Http.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Http message.
+ * @function verify
+ * @memberof google.api.Http
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Http.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.rules != null && message.hasOwnProperty("rules")) {
+ if (!Array.isArray(message.rules))
+ return "rules: array expected";
+ for (var i = 0; i < message.rules.length; ++i) {
+ var error = $root.google.api.HttpRule.verify(message.rules[i]);
+ if (error)
+ return "rules." + error;
+ }
+ }
+ if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion"))
+ if (typeof message.fullyDecodeReservedExpansion !== "boolean")
+ return "fullyDecodeReservedExpansion: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a Http message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.Http
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.Http} Http
+ */
+ Http.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.Http)
+ return object;
+ var message = new $root.google.api.Http();
+ if (object.rules) {
+ if (!Array.isArray(object.rules))
+ throw TypeError(".google.api.Http.rules: array expected");
+ message.rules = [];
+ for (var i = 0; i < object.rules.length; ++i) {
+ if (typeof object.rules[i] !== "object")
+ throw TypeError(".google.api.Http.rules: object expected");
+ message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i]);
+ }
+ }
+ if (object.fullyDecodeReservedExpansion != null)
+ message.fullyDecodeReservedExpansion = Boolean(object.fullyDecodeReservedExpansion);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Http message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.Http
+ * @static
+ * @param {google.api.Http} message Http
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Http.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.rules = [];
+ if (options.defaults)
+ object.fullyDecodeReservedExpansion = false;
+ if (message.rules && message.rules.length) {
+ object.rules = [];
+ for (var j = 0; j < message.rules.length; ++j)
+ object.rules[j] = $root.google.api.HttpRule.toObject(message.rules[j], options);
+ }
+ if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion"))
+ object.fullyDecodeReservedExpansion = message.fullyDecodeReservedExpansion;
+ return object;
+ };
+
+ /**
+ * Converts this Http to JSON.
+ * @function toJSON
+ * @memberof google.api.Http
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Http.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Http
+ * @function getTypeUrl
+ * @memberof google.api.Http
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Http.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.Http";
+ };
+
+ return Http;
+ })();
+
+ api.HttpRule = (function() {
+
+ /**
+ * Properties of a HttpRule.
+ * @memberof google.api
+ * @interface IHttpRule
+ * @property {string|null} [selector] HttpRule selector
+ * @property {string|null} [get] HttpRule get
+ * @property {string|null} [put] HttpRule put
+ * @property {string|null} [post] HttpRule post
+ * @property {string|null} ["delete"] HttpRule delete
+ * @property {string|null} [patch] HttpRule patch
+ * @property {google.api.ICustomHttpPattern|null} [custom] HttpRule custom
+ * @property {string|null} [body] HttpRule body
+ * @property {string|null} [responseBody] HttpRule responseBody
+ * @property {Array.|null} [additionalBindings] HttpRule additionalBindings
+ */
+
+ /**
+ * Constructs a new HttpRule.
+ * @memberof google.api
+ * @classdesc Represents a HttpRule.
+ * @implements IHttpRule
+ * @constructor
+ * @param {google.api.IHttpRule=} [properties] Properties to set
+ */
+ function HttpRule(properties) {
+ this.additionalBindings = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * HttpRule selector.
+ * @member {string} selector
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.selector = "";
+
+ /**
+ * HttpRule get.
+ * @member {string|null|undefined} get
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.get = null;
+
+ /**
+ * HttpRule put.
+ * @member {string|null|undefined} put
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.put = null;
+
+ /**
+ * HttpRule post.
+ * @member {string|null|undefined} post
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.post = null;
+
+ /**
+ * HttpRule delete.
+ * @member {string|null|undefined} delete
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype["delete"] = null;
+
+ /**
+ * HttpRule patch.
+ * @member {string|null|undefined} patch
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.patch = null;
+
+ /**
+ * HttpRule custom.
+ * @member {google.api.ICustomHttpPattern|null|undefined} custom
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.custom = null;
+
+ /**
+ * HttpRule body.
+ * @member {string} body
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.body = "";
+
+ /**
+ * HttpRule responseBody.
+ * @member {string} responseBody
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.responseBody = "";
+
+ /**
+ * HttpRule additionalBindings.
+ * @member {Array.} additionalBindings
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.additionalBindings = $util.emptyArray;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * HttpRule pattern.
+ * @member {"get"|"put"|"post"|"delete"|"patch"|"custom"|undefined} pattern
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ Object.defineProperty(HttpRule.prototype, "pattern", {
+ get: $util.oneOfGetter($oneOfFields = ["get", "put", "post", "delete", "patch", "custom"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new HttpRule instance using the specified properties.
+ * @function create
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {google.api.IHttpRule=} [properties] Properties to set
+ * @returns {google.api.HttpRule} HttpRule instance
+ */
+ HttpRule.create = function create(properties) {
+ return new HttpRule(properties);
+ };
+
+ /**
+ * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {google.api.IHttpRule} message HttpRule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ HttpRule.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.selector != null && Object.hasOwnProperty.call(message, "selector"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector);
+ if (message.get != null && Object.hasOwnProperty.call(message, "get"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.get);
+ if (message.put != null && Object.hasOwnProperty.call(message, "put"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.put);
+ if (message.post != null && Object.hasOwnProperty.call(message, "post"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.post);
+ if (message["delete"] != null && Object.hasOwnProperty.call(message, "delete"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message["delete"]);
+ if (message.patch != null && Object.hasOwnProperty.call(message, "patch"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.patch);
+ if (message.body != null && Object.hasOwnProperty.call(message, "body"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.body);
+ if (message.custom != null && Object.hasOwnProperty.call(message, "custom"))
+ $root.google.api.CustomHttpPattern.encode(message.custom, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.additionalBindings != null && message.additionalBindings.length)
+ for (var i = 0; i < message.additionalBindings.length; ++i)
+ $root.google.api.HttpRule.encode(message.additionalBindings[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim();
+ if (message.responseBody != null && Object.hasOwnProperty.call(message, "responseBody"))
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.responseBody);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {google.api.IHttpRule} message HttpRule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ HttpRule.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.HttpRule} HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ HttpRule.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.HttpRule();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.selector = reader.string();
+ break;
+ }
+ case 2: {
+ message.get = reader.string();
+ break;
+ }
+ case 3: {
+ message.put = reader.string();
+ break;
+ }
+ case 4: {
+ message.post = reader.string();
+ break;
+ }
+ case 5: {
+ message["delete"] = reader.string();
+ break;
+ }
+ case 6: {
+ message.patch = reader.string();
+ break;
+ }
+ case 8: {
+ message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.body = reader.string();
+ break;
+ }
+ case 12: {
+ message.responseBody = reader.string();
+ break;
+ }
+ case 11: {
+ if (!(message.additionalBindings && message.additionalBindings.length))
+ message.additionalBindings = [];
+ message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.HttpRule} HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ HttpRule.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a HttpRule message.
+ * @function verify
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ HttpRule.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.selector != null && message.hasOwnProperty("selector"))
+ if (!$util.isString(message.selector))
+ return "selector: string expected";
+ if (message.get != null && message.hasOwnProperty("get")) {
+ properties.pattern = 1;
+ if (!$util.isString(message.get))
+ return "get: string expected";
+ }
+ if (message.put != null && message.hasOwnProperty("put")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ if (!$util.isString(message.put))
+ return "put: string expected";
+ }
+ if (message.post != null && message.hasOwnProperty("post")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ if (!$util.isString(message.post))
+ return "post: string expected";
+ }
+ if (message["delete"] != null && message.hasOwnProperty("delete")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ if (!$util.isString(message["delete"]))
+ return "delete: string expected";
+ }
+ if (message.patch != null && message.hasOwnProperty("patch")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ if (!$util.isString(message.patch))
+ return "patch: string expected";
+ }
+ if (message.custom != null && message.hasOwnProperty("custom")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ {
+ var error = $root.google.api.CustomHttpPattern.verify(message.custom);
+ if (error)
+ return "custom." + error;
+ }
+ }
+ if (message.body != null && message.hasOwnProperty("body"))
+ if (!$util.isString(message.body))
+ return "body: string expected";
+ if (message.responseBody != null && message.hasOwnProperty("responseBody"))
+ if (!$util.isString(message.responseBody))
+ return "responseBody: string expected";
+ if (message.additionalBindings != null && message.hasOwnProperty("additionalBindings")) {
+ if (!Array.isArray(message.additionalBindings))
+ return "additionalBindings: array expected";
+ for (var i = 0; i < message.additionalBindings.length; ++i) {
+ var error = $root.google.api.HttpRule.verify(message.additionalBindings[i]);
+ if (error)
+ return "additionalBindings." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a HttpRule message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.HttpRule} HttpRule
+ */
+ HttpRule.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.HttpRule)
+ return object;
+ var message = new $root.google.api.HttpRule();
+ if (object.selector != null)
+ message.selector = String(object.selector);
+ if (object.get != null)
+ message.get = String(object.get);
+ if (object.put != null)
+ message.put = String(object.put);
+ if (object.post != null)
+ message.post = String(object.post);
+ if (object["delete"] != null)
+ message["delete"] = String(object["delete"]);
+ if (object.patch != null)
+ message.patch = String(object.patch);
+ if (object.custom != null) {
+ if (typeof object.custom !== "object")
+ throw TypeError(".google.api.HttpRule.custom: object expected");
+ message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom);
+ }
+ if (object.body != null)
+ message.body = String(object.body);
+ if (object.responseBody != null)
+ message.responseBody = String(object.responseBody);
+ if (object.additionalBindings) {
+ if (!Array.isArray(object.additionalBindings))
+ throw TypeError(".google.api.HttpRule.additionalBindings: array expected");
+ message.additionalBindings = [];
+ for (var i = 0; i < object.additionalBindings.length; ++i) {
+ if (typeof object.additionalBindings[i] !== "object")
+ throw TypeError(".google.api.HttpRule.additionalBindings: object expected");
+ message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a HttpRule message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {google.api.HttpRule} message HttpRule
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ HttpRule.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.additionalBindings = [];
+ if (options.defaults) {
+ object.selector = "";
+ object.body = "";
+ object.responseBody = "";
+ }
+ if (message.selector != null && message.hasOwnProperty("selector"))
+ object.selector = message.selector;
+ if (message.get != null && message.hasOwnProperty("get")) {
+ object.get = message.get;
+ if (options.oneofs)
+ object.pattern = "get";
+ }
+ if (message.put != null && message.hasOwnProperty("put")) {
+ object.put = message.put;
+ if (options.oneofs)
+ object.pattern = "put";
+ }
+ if (message.post != null && message.hasOwnProperty("post")) {
+ object.post = message.post;
+ if (options.oneofs)
+ object.pattern = "post";
+ }
+ if (message["delete"] != null && message.hasOwnProperty("delete")) {
+ object["delete"] = message["delete"];
+ if (options.oneofs)
+ object.pattern = "delete";
+ }
+ if (message.patch != null && message.hasOwnProperty("patch")) {
+ object.patch = message.patch;
+ if (options.oneofs)
+ object.pattern = "patch";
+ }
+ if (message.body != null && message.hasOwnProperty("body"))
+ object.body = message.body;
+ if (message.custom != null && message.hasOwnProperty("custom")) {
+ object.custom = $root.google.api.CustomHttpPattern.toObject(message.custom, options);
+ if (options.oneofs)
+ object.pattern = "custom";
+ }
+ if (message.additionalBindings && message.additionalBindings.length) {
+ object.additionalBindings = [];
+ for (var j = 0; j < message.additionalBindings.length; ++j)
+ object.additionalBindings[j] = $root.google.api.HttpRule.toObject(message.additionalBindings[j], options);
+ }
+ if (message.responseBody != null && message.hasOwnProperty("responseBody"))
+ object.responseBody = message.responseBody;
+ return object;
+ };
+
+ /**
+ * Converts this HttpRule to JSON.
+ * @function toJSON
+ * @memberof google.api.HttpRule
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ HttpRule.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for HttpRule
+ * @function getTypeUrl
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ HttpRule.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.HttpRule";
+ };
+
+ return HttpRule;
+ })();
+
+ api.CustomHttpPattern = (function() {
+
+ /**
+ * Properties of a CustomHttpPattern.
+ * @memberof google.api
+ * @interface ICustomHttpPattern
+ * @property {string|null} [kind] CustomHttpPattern kind
+ * @property {string|null} [path] CustomHttpPattern path
+ */
+
+ /**
+ * Constructs a new CustomHttpPattern.
+ * @memberof google.api
+ * @classdesc Represents a CustomHttpPattern.
+ * @implements ICustomHttpPattern
+ * @constructor
+ * @param {google.api.ICustomHttpPattern=} [properties] Properties to set
+ */
+ function CustomHttpPattern(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CustomHttpPattern kind.
+ * @member {string} kind
+ * @memberof google.api.CustomHttpPattern
+ * @instance
+ */
+ CustomHttpPattern.prototype.kind = "";
+
+ /**
+ * CustomHttpPattern path.
+ * @member {string} path
+ * @memberof google.api.CustomHttpPattern
+ * @instance
+ */
+ CustomHttpPattern.prototype.path = "";
+
+ /**
+ * Creates a new CustomHttpPattern instance using the specified properties.
+ * @function create
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {google.api.ICustomHttpPattern=} [properties] Properties to set
+ * @returns {google.api.CustomHttpPattern} CustomHttpPattern instance
+ */
+ CustomHttpPattern.create = function create(properties) {
+ return new CustomHttpPattern(properties);
+ };
+
+ /**
+ * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {google.api.ICustomHttpPattern} message CustomHttpPattern message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CustomHttpPattern.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.kind != null && Object.hasOwnProperty.call(message, "kind"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.kind);
+ if (message.path != null && Object.hasOwnProperty.call(message, "path"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.path);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {google.api.ICustomHttpPattern} message CustomHttpPattern message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CustomHttpPattern.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.CustomHttpPattern} CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CustomHttpPattern.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CustomHttpPattern();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.kind = reader.string();
+ break;
+ }
+ case 2: {
+ message.path = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.CustomHttpPattern} CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CustomHttpPattern.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CustomHttpPattern message.
+ * @function verify
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CustomHttpPattern.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.kind != null && message.hasOwnProperty("kind"))
+ if (!$util.isString(message.kind))
+ return "kind: string expected";
+ if (message.path != null && message.hasOwnProperty("path"))
+ if (!$util.isString(message.path))
+ return "path: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.CustomHttpPattern} CustomHttpPattern
+ */
+ CustomHttpPattern.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.CustomHttpPattern)
+ return object;
+ var message = new $root.google.api.CustomHttpPattern();
+ if (object.kind != null)
+ message.kind = String(object.kind);
+ if (object.path != null)
+ message.path = String(object.path);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {google.api.CustomHttpPattern} message CustomHttpPattern
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CustomHttpPattern.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.kind = "";
+ object.path = "";
+ }
+ if (message.kind != null && message.hasOwnProperty("kind"))
+ object.kind = message.kind;
+ if (message.path != null && message.hasOwnProperty("path"))
+ object.path = message.path;
+ return object;
+ };
+
+ /**
+ * Converts this CustomHttpPattern to JSON.
+ * @function toJSON
+ * @memberof google.api.CustomHttpPattern
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CustomHttpPattern.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CustomHttpPattern
+ * @function getTypeUrl
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CustomHttpPattern.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.CustomHttpPattern";
+ };
+
+ return CustomHttpPattern;
+ })();
+
+ api.CommonLanguageSettings = (function() {
+
+ /**
+ * Properties of a CommonLanguageSettings.
+ * @memberof google.api
+ * @interface ICommonLanguageSettings
+ * @property {string|null} [referenceDocsUri] CommonLanguageSettings referenceDocsUri
+ * @property {Array.|null} [destinations] CommonLanguageSettings destinations
+ */
+
+ /**
+ * Constructs a new CommonLanguageSettings.
+ * @memberof google.api
+ * @classdesc Represents a CommonLanguageSettings.
+ * @implements ICommonLanguageSettings
+ * @constructor
+ * @param {google.api.ICommonLanguageSettings=} [properties] Properties to set
+ */
+ function CommonLanguageSettings(properties) {
+ this.destinations = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CommonLanguageSettings referenceDocsUri.
+ * @member {string} referenceDocsUri
+ * @memberof google.api.CommonLanguageSettings
+ * @instance
+ */
+ CommonLanguageSettings.prototype.referenceDocsUri = "";
+
+ /**
+ * CommonLanguageSettings destinations.
+ * @member {Array.} destinations
+ * @memberof google.api.CommonLanguageSettings
+ * @instance
+ */
+ CommonLanguageSettings.prototype.destinations = $util.emptyArray;
+
+ /**
+ * Creates a new CommonLanguageSettings instance using the specified properties.
+ * @function create
+ * @memberof google.api.CommonLanguageSettings
+ * @static
+ * @param {google.api.ICommonLanguageSettings=} [properties] Properties to set
+ * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings instance
+ */
+ CommonLanguageSettings.create = function create(properties) {
+ return new CommonLanguageSettings(properties);
+ };
+
+ /**
+ * Encodes the specified CommonLanguageSettings message. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.CommonLanguageSettings
+ * @static
+ * @param {google.api.ICommonLanguageSettings} message CommonLanguageSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CommonLanguageSettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.referenceDocsUri != null && Object.hasOwnProperty.call(message, "referenceDocsUri"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.referenceDocsUri);
+ if (message.destinations != null && message.destinations.length) {
+ writer.uint32(/* id 2, wireType 2 =*/18).fork();
+ for (var i = 0; i < message.destinations.length; ++i)
+ writer.int32(message.destinations[i]);
+ writer.ldelim();
+ }
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CommonLanguageSettings message, length delimited. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.CommonLanguageSettings
+ * @static
+ * @param {google.api.ICommonLanguageSettings} message CommonLanguageSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CommonLanguageSettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CommonLanguageSettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.CommonLanguageSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CommonLanguageSettings.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CommonLanguageSettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.referenceDocsUri = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.destinations && message.destinations.length))
+ message.destinations = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.destinations.push(reader.int32());
+ } else
+ message.destinations.push(reader.int32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CommonLanguageSettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.CommonLanguageSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CommonLanguageSettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CommonLanguageSettings message.
+ * @function verify
+ * @memberof google.api.CommonLanguageSettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CommonLanguageSettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri"))
+ if (!$util.isString(message.referenceDocsUri))
+ return "referenceDocsUri: string expected";
+ if (message.destinations != null && message.hasOwnProperty("destinations")) {
+ if (!Array.isArray(message.destinations))
+ return "destinations: array expected";
+ for (var i = 0; i < message.destinations.length; ++i)
+ switch (message.destinations[i]) {
+ default:
+ return "destinations: enum value[] expected";
+ case 0:
+ case 10:
+ case 20:
+ break;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CommonLanguageSettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.CommonLanguageSettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings
+ */
+ CommonLanguageSettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.CommonLanguageSettings)
+ return object;
+ var message = new $root.google.api.CommonLanguageSettings();
+ if (object.referenceDocsUri != null)
+ message.referenceDocsUri = String(object.referenceDocsUri);
+ if (object.destinations) {
+ if (!Array.isArray(object.destinations))
+ throw TypeError(".google.api.CommonLanguageSettings.destinations: array expected");
+ message.destinations = [];
+ for (var i = 0; i < object.destinations.length; ++i)
+ switch (object.destinations[i]) {
+ default:
+ if (typeof object.destinations[i] === "number") {
+ message.destinations[i] = object.destinations[i];
+ break;
+ }
+ case "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED":
+ case 0:
+ message.destinations[i] = 0;
+ break;
+ case "GITHUB":
+ case 10:
+ message.destinations[i] = 10;
+ break;
+ case "PACKAGE_MANAGER":
+ case 20:
+ message.destinations[i] = 20;
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CommonLanguageSettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.CommonLanguageSettings
+ * @static
+ * @param {google.api.CommonLanguageSettings} message CommonLanguageSettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CommonLanguageSettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.destinations = [];
+ if (options.defaults)
+ object.referenceDocsUri = "";
+ if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri"))
+ object.referenceDocsUri = message.referenceDocsUri;
+ if (message.destinations && message.destinations.length) {
+ object.destinations = [];
+ for (var j = 0; j < message.destinations.length; ++j)
+ object.destinations[j] = options.enums === String ? $root.google.api.ClientLibraryDestination[message.destinations[j]] === undefined ? message.destinations[j] : $root.google.api.ClientLibraryDestination[message.destinations[j]] : message.destinations[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this CommonLanguageSettings to JSON.
+ * @function toJSON
+ * @memberof google.api.CommonLanguageSettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CommonLanguageSettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CommonLanguageSettings
+ * @function getTypeUrl
+ * @memberof google.api.CommonLanguageSettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CommonLanguageSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.CommonLanguageSettings";
+ };
+
+ return CommonLanguageSettings;
+ })();
+
+ api.ClientLibrarySettings = (function() {
+
+ /**
+ * Properties of a ClientLibrarySettings.
+ * @memberof google.api
+ * @interface IClientLibrarySettings
+ * @property {string|null} [version] ClientLibrarySettings version
+ * @property {google.api.LaunchStage|null} [launchStage] ClientLibrarySettings launchStage
+ * @property {boolean|null} [restNumericEnums] ClientLibrarySettings restNumericEnums
+ * @property {google.api.IJavaSettings|null} [javaSettings] ClientLibrarySettings javaSettings
+ * @property {google.api.ICppSettings|null} [cppSettings] ClientLibrarySettings cppSettings
+ * @property {google.api.IPhpSettings|null} [phpSettings] ClientLibrarySettings phpSettings
+ * @property {google.api.IPythonSettings|null} [pythonSettings] ClientLibrarySettings pythonSettings
+ * @property {google.api.INodeSettings|null} [nodeSettings] ClientLibrarySettings nodeSettings
+ * @property {google.api.IDotnetSettings|null} [dotnetSettings] ClientLibrarySettings dotnetSettings
+ * @property {google.api.IRubySettings|null} [rubySettings] ClientLibrarySettings rubySettings
+ * @property {google.api.IGoSettings|null} [goSettings] ClientLibrarySettings goSettings
+ */
+
+ /**
+ * Constructs a new ClientLibrarySettings.
+ * @memberof google.api
+ * @classdesc Represents a ClientLibrarySettings.
+ * @implements IClientLibrarySettings
+ * @constructor
+ * @param {google.api.IClientLibrarySettings=} [properties] Properties to set
+ */
+ function ClientLibrarySettings(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ClientLibrarySettings version.
+ * @member {string} version
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.version = "";
+
+ /**
+ * ClientLibrarySettings launchStage.
+ * @member {google.api.LaunchStage} launchStage
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.launchStage = 0;
+
+ /**
+ * ClientLibrarySettings restNumericEnums.
+ * @member {boolean} restNumericEnums
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.restNumericEnums = false;
+
+ /**
+ * ClientLibrarySettings javaSettings.
+ * @member {google.api.IJavaSettings|null|undefined} javaSettings
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.javaSettings = null;
+
+ /**
+ * ClientLibrarySettings cppSettings.
+ * @member {google.api.ICppSettings|null|undefined} cppSettings
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.cppSettings = null;
+
+ /**
+ * ClientLibrarySettings phpSettings.
+ * @member {google.api.IPhpSettings|null|undefined} phpSettings
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.phpSettings = null;
+
+ /**
+ * ClientLibrarySettings pythonSettings.
+ * @member {google.api.IPythonSettings|null|undefined} pythonSettings
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.pythonSettings = null;
+
+ /**
+ * ClientLibrarySettings nodeSettings.
+ * @member {google.api.INodeSettings|null|undefined} nodeSettings
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.nodeSettings = null;
+
+ /**
+ * ClientLibrarySettings dotnetSettings.
+ * @member {google.api.IDotnetSettings|null|undefined} dotnetSettings
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.dotnetSettings = null;
+
+ /**
+ * ClientLibrarySettings rubySettings.
+ * @member {google.api.IRubySettings|null|undefined} rubySettings
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.rubySettings = null;
+
+ /**
+ * ClientLibrarySettings goSettings.
+ * @member {google.api.IGoSettings|null|undefined} goSettings
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ */
+ ClientLibrarySettings.prototype.goSettings = null;
+
+ /**
+ * Creates a new ClientLibrarySettings instance using the specified properties.
+ * @function create
+ * @memberof google.api.ClientLibrarySettings
+ * @static
+ * @param {google.api.IClientLibrarySettings=} [properties] Properties to set
+ * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings instance
+ */
+ ClientLibrarySettings.create = function create(properties) {
+ return new ClientLibrarySettings(properties);
+ };
+
+ /**
+ * Encodes the specified ClientLibrarySettings message. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.ClientLibrarySettings
+ * @static
+ * @param {google.api.IClientLibrarySettings} message ClientLibrarySettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ClientLibrarySettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.version != null && Object.hasOwnProperty.call(message, "version"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.version);
+ if (message.launchStage != null && Object.hasOwnProperty.call(message, "launchStage"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.launchStage);
+ if (message.restNumericEnums != null && Object.hasOwnProperty.call(message, "restNumericEnums"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.restNumericEnums);
+ if (message.javaSettings != null && Object.hasOwnProperty.call(message, "javaSettings"))
+ $root.google.api.JavaSettings.encode(message.javaSettings, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim();
+ if (message.cppSettings != null && Object.hasOwnProperty.call(message, "cppSettings"))
+ $root.google.api.CppSettings.encode(message.cppSettings, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim();
+ if (message.phpSettings != null && Object.hasOwnProperty.call(message, "phpSettings"))
+ $root.google.api.PhpSettings.encode(message.phpSettings, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim();
+ if (message.pythonSettings != null && Object.hasOwnProperty.call(message, "pythonSettings"))
+ $root.google.api.PythonSettings.encode(message.pythonSettings, writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim();
+ if (message.nodeSettings != null && Object.hasOwnProperty.call(message, "nodeSettings"))
+ $root.google.api.NodeSettings.encode(message.nodeSettings, writer.uint32(/* id 25, wireType 2 =*/202).fork()).ldelim();
+ if (message.dotnetSettings != null && Object.hasOwnProperty.call(message, "dotnetSettings"))
+ $root.google.api.DotnetSettings.encode(message.dotnetSettings, writer.uint32(/* id 26, wireType 2 =*/210).fork()).ldelim();
+ if (message.rubySettings != null && Object.hasOwnProperty.call(message, "rubySettings"))
+ $root.google.api.RubySettings.encode(message.rubySettings, writer.uint32(/* id 27, wireType 2 =*/218).fork()).ldelim();
+ if (message.goSettings != null && Object.hasOwnProperty.call(message, "goSettings"))
+ $root.google.api.GoSettings.encode(message.goSettings, writer.uint32(/* id 28, wireType 2 =*/226).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ClientLibrarySettings message, length delimited. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.ClientLibrarySettings
+ * @static
+ * @param {google.api.IClientLibrarySettings} message ClientLibrarySettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ClientLibrarySettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ClientLibrarySettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.ClientLibrarySettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ClientLibrarySettings.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ClientLibrarySettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.version = reader.string();
+ break;
+ }
+ case 2: {
+ message.launchStage = reader.int32();
+ break;
+ }
+ case 3: {
+ message.restNumericEnums = reader.bool();
+ break;
+ }
+ case 21: {
+ message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 22: {
+ message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 23: {
+ message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 24: {
+ message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 25: {
+ message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 26: {
+ message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 27: {
+ message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 28: {
+ message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ClientLibrarySettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.ClientLibrarySettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ClientLibrarySettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ClientLibrarySettings message.
+ * @function verify
+ * @memberof google.api.ClientLibrarySettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ClientLibrarySettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.version != null && message.hasOwnProperty("version"))
+ if (!$util.isString(message.version))
+ return "version: string expected";
+ if (message.launchStage != null && message.hasOwnProperty("launchStage"))
+ switch (message.launchStage) {
+ default:
+ return "launchStage: enum value expected";
+ case 0:
+ case 6:
+ case 7:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ }
+ if (message.restNumericEnums != null && message.hasOwnProperty("restNumericEnums"))
+ if (typeof message.restNumericEnums !== "boolean")
+ return "restNumericEnums: boolean expected";
+ if (message.javaSettings != null && message.hasOwnProperty("javaSettings")) {
+ var error = $root.google.api.JavaSettings.verify(message.javaSettings);
+ if (error)
+ return "javaSettings." + error;
+ }
+ if (message.cppSettings != null && message.hasOwnProperty("cppSettings")) {
+ var error = $root.google.api.CppSettings.verify(message.cppSettings);
+ if (error)
+ return "cppSettings." + error;
+ }
+ if (message.phpSettings != null && message.hasOwnProperty("phpSettings")) {
+ var error = $root.google.api.PhpSettings.verify(message.phpSettings);
+ if (error)
+ return "phpSettings." + error;
+ }
+ if (message.pythonSettings != null && message.hasOwnProperty("pythonSettings")) {
+ var error = $root.google.api.PythonSettings.verify(message.pythonSettings);
+ if (error)
+ return "pythonSettings." + error;
+ }
+ if (message.nodeSettings != null && message.hasOwnProperty("nodeSettings")) {
+ var error = $root.google.api.NodeSettings.verify(message.nodeSettings);
+ if (error)
+ return "nodeSettings." + error;
+ }
+ if (message.dotnetSettings != null && message.hasOwnProperty("dotnetSettings")) {
+ var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings);
+ if (error)
+ return "dotnetSettings." + error;
+ }
+ if (message.rubySettings != null && message.hasOwnProperty("rubySettings")) {
+ var error = $root.google.api.RubySettings.verify(message.rubySettings);
+ if (error)
+ return "rubySettings." + error;
+ }
+ if (message.goSettings != null && message.hasOwnProperty("goSettings")) {
+ var error = $root.google.api.GoSettings.verify(message.goSettings);
+ if (error)
+ return "goSettings." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ClientLibrarySettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.ClientLibrarySettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings
+ */
+ ClientLibrarySettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.ClientLibrarySettings)
+ return object;
+ var message = new $root.google.api.ClientLibrarySettings();
+ if (object.version != null)
+ message.version = String(object.version);
+ switch (object.launchStage) {
+ default:
+ if (typeof object.launchStage === "number") {
+ message.launchStage = object.launchStage;
+ break;
+ }
+ break;
+ case "LAUNCH_STAGE_UNSPECIFIED":
+ case 0:
+ message.launchStage = 0;
+ break;
+ case "UNIMPLEMENTED":
+ case 6:
+ message.launchStage = 6;
+ break;
+ case "PRELAUNCH":
+ case 7:
+ message.launchStage = 7;
+ break;
+ case "EARLY_ACCESS":
+ case 1:
+ message.launchStage = 1;
+ break;
+ case "ALPHA":
+ case 2:
+ message.launchStage = 2;
+ break;
+ case "BETA":
+ case 3:
+ message.launchStage = 3;
+ break;
+ case "GA":
+ case 4:
+ message.launchStage = 4;
+ break;
+ case "DEPRECATED":
+ case 5:
+ message.launchStage = 5;
+ break;
+ }
+ if (object.restNumericEnums != null)
+ message.restNumericEnums = Boolean(object.restNumericEnums);
+ if (object.javaSettings != null) {
+ if (typeof object.javaSettings !== "object")
+ throw TypeError(".google.api.ClientLibrarySettings.javaSettings: object expected");
+ message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings);
+ }
+ if (object.cppSettings != null) {
+ if (typeof object.cppSettings !== "object")
+ throw TypeError(".google.api.ClientLibrarySettings.cppSettings: object expected");
+ message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings);
+ }
+ if (object.phpSettings != null) {
+ if (typeof object.phpSettings !== "object")
+ throw TypeError(".google.api.ClientLibrarySettings.phpSettings: object expected");
+ message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings);
+ }
+ if (object.pythonSettings != null) {
+ if (typeof object.pythonSettings !== "object")
+ throw TypeError(".google.api.ClientLibrarySettings.pythonSettings: object expected");
+ message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings);
+ }
+ if (object.nodeSettings != null) {
+ if (typeof object.nodeSettings !== "object")
+ throw TypeError(".google.api.ClientLibrarySettings.nodeSettings: object expected");
+ message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings);
+ }
+ if (object.dotnetSettings != null) {
+ if (typeof object.dotnetSettings !== "object")
+ throw TypeError(".google.api.ClientLibrarySettings.dotnetSettings: object expected");
+ message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings);
+ }
+ if (object.rubySettings != null) {
+ if (typeof object.rubySettings !== "object")
+ throw TypeError(".google.api.ClientLibrarySettings.rubySettings: object expected");
+ message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings);
+ }
+ if (object.goSettings != null) {
+ if (typeof object.goSettings !== "object")
+ throw TypeError(".google.api.ClientLibrarySettings.goSettings: object expected");
+ message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ClientLibrarySettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.ClientLibrarySettings
+ * @static
+ * @param {google.api.ClientLibrarySettings} message ClientLibrarySettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ClientLibrarySettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.version = "";
+ object.launchStage = options.enums === String ? "LAUNCH_STAGE_UNSPECIFIED" : 0;
+ object.restNumericEnums = false;
+ object.javaSettings = null;
+ object.cppSettings = null;
+ object.phpSettings = null;
+ object.pythonSettings = null;
+ object.nodeSettings = null;
+ object.dotnetSettings = null;
+ object.rubySettings = null;
+ object.goSettings = null;
+ }
+ if (message.version != null && message.hasOwnProperty("version"))
+ object.version = message.version;
+ if (message.launchStage != null && message.hasOwnProperty("launchStage"))
+ object.launchStage = options.enums === String ? $root.google.api.LaunchStage[message.launchStage] === undefined ? message.launchStage : $root.google.api.LaunchStage[message.launchStage] : message.launchStage;
+ if (message.restNumericEnums != null && message.hasOwnProperty("restNumericEnums"))
+ object.restNumericEnums = message.restNumericEnums;
+ if (message.javaSettings != null && message.hasOwnProperty("javaSettings"))
+ object.javaSettings = $root.google.api.JavaSettings.toObject(message.javaSettings, options);
+ if (message.cppSettings != null && message.hasOwnProperty("cppSettings"))
+ object.cppSettings = $root.google.api.CppSettings.toObject(message.cppSettings, options);
+ if (message.phpSettings != null && message.hasOwnProperty("phpSettings"))
+ object.phpSettings = $root.google.api.PhpSettings.toObject(message.phpSettings, options);
+ if (message.pythonSettings != null && message.hasOwnProperty("pythonSettings"))
+ object.pythonSettings = $root.google.api.PythonSettings.toObject(message.pythonSettings, options);
+ if (message.nodeSettings != null && message.hasOwnProperty("nodeSettings"))
+ object.nodeSettings = $root.google.api.NodeSettings.toObject(message.nodeSettings, options);
+ if (message.dotnetSettings != null && message.hasOwnProperty("dotnetSettings"))
+ object.dotnetSettings = $root.google.api.DotnetSettings.toObject(message.dotnetSettings, options);
+ if (message.rubySettings != null && message.hasOwnProperty("rubySettings"))
+ object.rubySettings = $root.google.api.RubySettings.toObject(message.rubySettings, options);
+ if (message.goSettings != null && message.hasOwnProperty("goSettings"))
+ object.goSettings = $root.google.api.GoSettings.toObject(message.goSettings, options);
+ return object;
+ };
+
+ /**
+ * Converts this ClientLibrarySettings to JSON.
+ * @function toJSON
+ * @memberof google.api.ClientLibrarySettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ClientLibrarySettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ClientLibrarySettings
+ * @function getTypeUrl
+ * @memberof google.api.ClientLibrarySettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ClientLibrarySettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.ClientLibrarySettings";
+ };
+
+ return ClientLibrarySettings;
+ })();
+
+ api.Publishing = (function() {
+
+ /**
+ * Properties of a Publishing.
+ * @memberof google.api
+ * @interface IPublishing
+ * @property {Array.|null} [methodSettings] Publishing methodSettings
+ * @property {string|null} [newIssueUri] Publishing newIssueUri
+ * @property {string|null} [documentationUri] Publishing documentationUri
+ * @property {string|null} [apiShortName] Publishing apiShortName
+ * @property {string|null} [githubLabel] Publishing githubLabel
+ * @property {Array.|null} [codeownerGithubTeams] Publishing codeownerGithubTeams
+ * @property {string|null} [docTagPrefix] Publishing docTagPrefix
+ * @property {google.api.ClientLibraryOrganization|null} [organization] Publishing organization
+ * @property {Array.|null} [librarySettings] Publishing librarySettings
+ * @property {string|null} [protoReferenceDocumentationUri] Publishing protoReferenceDocumentationUri
+ */
+
+ /**
+ * 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 = "";
+
+ /**
+ * 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);
+ 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;
+ }
+ 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";
+ 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);
+ 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 = "";
+ }
+ 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;
+ 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.